EN в Twitter EN В Контакте EN в Facebook
RSS 2.0
Домен: https://krasnodar.en.cx/ (владелец домена: VEREWOLF) Показать аватары
Модераторы форума: 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.
19.05.2024 18:37:58
(UTC +3)

www.en.cx
EncounterTM Ltd.
2004-2024 ©