Информация об изменениях

Сообщение Локализация дат и в распределенных приложениях от 24.03.2015 21:55

Изменено 24.03.2015 21:56 α

Думаю, Sciter тут представлять не надо и его все знают.

Есть в нем закавыка с контролом ввода даты.
В форме ввода я выбираю дату при помощи выпадающего календаря, далее эта дата заворачивается в JSON и отправляется на веб-сервер.
На веб-сервере я обнаруживаю, что получаю не ту дату, которую вводил, а UTC, то есть минус три часа поправки на мой часовой пояс, или иными словами не 25.03.2015, а 24.03.2015 21:00.

Академически все правильно: Андрей считает, что в распределенных приложениях, которые могут работать с сервером откуда угодно, дату/время нужно приводить к UTC и я в этом с ним согласен.

Должен ли такое преобразование самостоятельно выполнять контрол, работающий в Presentation Layer?
Или же это ответственность Buisness Layer-а (контроллера, презентера или чего там еще)?

Т.е. я считаю, что я, если хочу, должен перед отправкой JSON на сервер самостоятельно внести коррекцию TimeZone во все даты в JavaScript/TIScript-контроллере, или как-то передать веб-серверу TimeZone клиента (через Cookie, через сессию, или вообще вынести настройку TimeZone пользователя в профиль пользователя, хранящийся в базе данных).

Кто прав?
Локализация дат и в распределенных приложениях
Думаю, Sciter тут представлять не надо и его все знают.

Есть в нем закавыка с контролом ввода даты.
В форме ввода я выбираю дату при помощи выпадающего календаря, далее эта дата заворачивается в JSON и отправляется на веб-сервер.
На веб-сервере я обнаруживаю, что получаю не ту дату, которую вводил, а UTC, то есть минус три часа поправки на мой часовой пояс, или иными словами не 25.03.2015, а 24.03.2015 21:00.
То есть контрол сам поправил введенную мной дату и привел ее к UTC.

Академически все правильно: Андрей считает, что в распределенных приложениях, которые могут работать с сервером откуда угодно, дату/время нужно приводить к UTC и я в этом с ним согласен.

Должен ли такое преобразование самостоятельно выполнять контрол, работающий в Presentation Layer?
Или же это ответственность Buisness Layer-а (контроллера, презентера или чего там еще)?

Т.е. я считаю, что я, если хочу, должен перед отправкой JSON на сервер самостоятельно внести коррекцию TimeZone во все даты в JavaScript/TIScript-контроллере, или как-то передать веб-серверу TimeZone клиента (через Cookie, через сессию, или вообще вынести настройку TimeZone пользователя в профиль пользователя, хранящийся в базе данных).

Кто прав?