jQuery FullCalendar синхронизация часовых поясов - PullRequest
2 голосов
/ 12 января 2012

Я использую плагин jQuery Fullcalendar (http://arshaw.com/fullcalendar). Я использую его только для событий "полный день". Когда пользователь создает событие, я сохраняю его в своей базе данных через PHP как дату (2012-01-12 При отправке списка событий в FullCalendar через AJAX я конвертирую дату в Unix-время.

Проблема, которую я предвижу, это случай, когда сервер находится в США с часовым поясом США, а клиент - в Европе. Сервер отправляет событие на 2012-01-12 00:00:00 (время США), которое преобразуется в время Unix. Затем клиент может увидеть событие 2012-01-12 08:00:00 (8 часов спустя).

Как я могу убедиться, что если событие происходит в полночь, то это в полночь ВЕЗДЕ - не нужно настраивать часовой пояс. Если пользователь создает событие на целый день 12 января, мне нужно, чтобы каждый пользователь по всему миру также видел его в тот же день.

1 Ответ

5 голосов
/ 13 января 2012

FullCalendar имеет опцию для этого, ignoreTimezone (см .: http://arshaw.com/fullcalendar/docs/event_data/ignoreTimezone/), просто убедитесь, что для него установлено значение true (по умолчанию *), и пользователь увидит то же время, что сервер отправляет, независимо от часового пояса пользователя.

(* лично я думаю, что по умолчанию неправильно, и разработчик, кажется, признает это в документах, так что стоило бы установить явно.)

...