Я собираюсь сходить с ума по поводу проблем с датой и в Интернете.Передача часового пояса в веб-ави звонок с момента с nodatime
У меня есть веб-сервер, размещенный в Центральном часовом поясе. Когда клиенты в Восточном часовом поясе пытаются и планируют элемент в течение определенного дня с помощью моего приложения, они передают значение (например) 3/14/2015. Когда мы передаем код обратно в нашу модель, которая отправляется в веб-api, мы сохраняем использование чего-то вроде кода ниже.
moment.utc($("#mydatepicker").val).hour(0).minute(0).second(0)).toISOString();
Это приводит к строке, как следующее:
2015-03-14T04:00:00.000Z
Когда элемент преобразуется обратно на сервер в Web API, он превращается в
3/13/2015 11:00:00 PM
Logic затем срывает и вы можете видеть, что происходит отсюда. Так как я отключил время, то теперь это за день до этого, и это значение сохраняется в базе данных.
Мне нужно знать, как отправить значение с момента, в веб-api предпочтительнее, как ZonedDateTime в часовом поясе клиента. Затем я могу преобразовать его в UTC для сохранения в БД.
Я видел что-то об использовании NodaTime.Serialization.JsonNet, но я не понимаю, как использовать его с Moment и передавать его взад и вперед по веб-интерфейсу api/ajax.
Казалось, это сработало. Я изменил результат даты на строку даты, и все, похоже, работают. Я все еще делаю логическую серверную сторону, но все выглядит нормально. Я делаю дополнительную логику, чтобы убедиться, что я сохраняю значения во время моей франшизы (их TZ хранится в БД), а затем конвертируется в UTC для хранения БД. Я должен обучать своих пользователей тем, что если вы установите значение для Midnight franch. время, и они на час опережают вас, когда вы просматриваете результат локально, момент покажет его в свое местное время, поэтому он будет на час меньше, чем для франшизы. Заставляет меня опрокинуться. Проведет курс. – SpaceCowboy74