Модераторы форума:
Ronika, VEREWOLF, Katrin_Ylibka, Лиса
|
27.10.2007 12:00:38
/
1 сообщение
/
автор темы rysalo4ka
.
|
|
[
27.10.2007 12:00:38 (UTC +3), en.cx
]
Konstantin [ 26.10.2007 15:55:12 (GMT 0), en.cx ]
В связи с предстоящим переводом часов на 1 час назад в ночь с субботы на воскресенье мне и Ивану приходят одни и те же вопросы от организаторов Encounter, что то типа:
Как будет произведен переход? Как поведет себя движок? Как будет расчитывать время до подсказок и т.д.
Вот на эти вопросы я тут и отвечу, а то надоело всем писать одно и тоже. Для начало прочтите внимательно, что такое UTC и GMT
На сервере выставлено UTC время, это время не смещается ни зимой ни летом. Все времена в базе хранятся в UTC, и наш движок работает внутри только с UTC временем. Игровой механизм не знает про то, что будет перевод часов. Он просто всегда отдает UTC время.
А уже непосредственно перед тем как отобразить это время в браузер, мы локализуем его в соответствии с временной зоной текущего сайта.
Вот пример расчетов для Москвы. Каждая временная зона имеет интервал "Начало летнего времени" и "Конец летнего времени".
Daylight Saving Time started on воскресенье 25 март 2007 г. 02:00 local standard time Daylight Saving Time ends on воскресенье 28 октябрь 2007 г. 03:00 local daylight time
Мы смотрим если дата/время попадает в этот интервал, то мы прибовляем +4 часа, если не попадает, то +3 часа. И отображаем это время вам в браузер.
Конечно, в статистике может получится так, что отобразится два раза 2:30, но это не должно вас пугать, вы должны понимать, что сначало было 2:30 UTC +4, а через час стало 2:30 UTC +3.
|
|
|
|