как обрабатывать летнее время и часовые пояса в JavaScript - PullRequest
1 голос
/ 21 февраля 2012

Каков наилучший подход для работы со значениями DST, когда ваш веб-сервис принимает запросы из разных часовых поясов, чем ваш сервер?

Мой веб-сервис принимает строки дат с использованием стандарта ISO8601 (2012-02-21T05: 00: 00.000-05: 00)

Я хочу учитывать DST, но не хочу, чтобы накладные расходы на обслуживание или подключение к базе данных позволяли получать DST для каждого запроса, поступающего из другого часового пояса на мой сервер.

Один из подходов, который я рассматриваю, заключается в использовании настроек DST сервера по умолчанию, а затем для каждого входящего запроса конвертируйте его в тот же часовой пояс, в котором находится мой сервер. Затем, когда обработка завершена, преобразуйте строку обратно в часовой пояс клиент и возврат. Преобразование данных ответа может быть выполнено на сервере или клиенте.

Есть предложения?

Ответы [ 2 ]

3 голосов
/ 04 февраля 2013

Вы также можете взглянуть на проект XDate для обработки объектов даты в Javascript. Это очень похоже на JodaTime (на Java). Очень простой в использовании и семантический.

Проект XDate

2 голосов
/ 21 февраля 2012

Вот что я бы сделал. Прежде чем отправлять свои данные / время, проанализируйте строки в объект JavaScript Date. Затем позвоните getTime() и отправьте это значение. getTime() возвращает количество миллисекунд с начала UTC, поэтому оно нормализует ваше время. Затем, когда вы возвращаете данные пользователю, передайте свое значение миллисекунды UTC в конструктор объекта Date и отобразите время так, как вы бы это сделали. По умолчанию он отображается в часовом поясе пользователя.

...