Проблемы с часовым поясом? - PullRequest
0 голосов
/ 03 июня 2010

Мой календарь работает правильно на серверах в PST, но на производственном сервере (EST) все события заканчиваются на один день раньше. Я не уверен, что это проблема часового пояса, потому что даже с разницей в 3 часа события должны отображаться в нужную дату.

Кто-нибудь еще сталкивался с этой проблемой?

Ответы [ 2 ]

1 голос
/ 03 июня 2010

Это типичная проблема при пересечении барьеров часового пояса. Если база данных переносит только дату, но данные преобразуются в метку времени и корректируются с учетом часового пояса, у вас возникла проблема 2010-06-02 становится 2010-06-02 00:00 EST становится 2010-06-01 21:00 PST ,

0 голосов
/ 03 июня 2010

Если события заканчиваются на день раньше, но не начинаются на день раньше, скорее всего, ваши серверные сценарии не получают или не учитывают информацию о часовом поясе на дату окончания, поступающую из браузера. Если события начинаются в полночь по тихоокеанскому времени (или 3:00 по восточному поясному времени) и заканчиваются в полночь по тихоокеанскому времени (или в 9:00 по тихоокеанскому времени) или, может быть, в полночь по Гринвичу (или в 4:00 по тихоокеанскому времени), это будет учитывать события, «заканчивающиеся рано». Браузер должен отправлять все события с полной информацией о дате и времени (например, «3/6/2010 00:00:00 GMT-0800»), а серверные сценарии также должны сохранять и сообщать эту информацию точно.

Я живу в Японии, но много работаю в Северной Америке, поэтому постоянно вижу эту проблему. Я считаю, что это действительно помогает разработке думать обо всех событиях в GMT, а не о вашем домашнем часовом поясе - особенно если кто-то из ваших пользователей живет в разных часовых поясах. JS обрабатывает информацию о часовом поясе довольно хорошо (помимо отсутствия информации о летнем времени, она работает фантастически), и большинство серверов работают с часовым поясом очень хорошо, поэтому большинство ошибок, которые вы видите, связаны с тем, что клиентские скрипты отправляют неполную информацию о дате и пытаются сделать делать.

Стоит также проверить, как ваше приложение работает 7 ноября 2010 года в 2:00 утра, поскольку этот день длится 25 часов, а 13 марта 2011 года - только 23 дня. Переключатель на летнее время - это дьявол.

...