Часовые пояса и даты показа в CMS - PullRequest
1 голос
/ 01 февраля 2012

Я много читал по этому вопросу и не думаю, что он так прост, как может показаться.

Мы создаем проприетарную CMS и после большого количества исследований решили сохранить все даты и время в UTC (либо как метку времени unix в поле INT, либо как поле DATETIME).

Я полностью знаком с тем, КАК обрабатывать смещения по времени и т. Д.

Поскольку мы храним все значения даты / времени в формате UTC и преобразуем эти значения в определенный часовой пояс в точке отображения этих значений:

  1. Является ли распространенным в программном обеспечении CMS отображение значений при изменении часового пояса веб-сайта? Например, предположим, что у вас смещение +10, и поэтому отображаемая дата 1 марта 2011 года в 14:15; и вы измените смещение на -10, изменится ли дата и время, отображаемые для этой статьи, на 28 февраля 2011 года в 18: 15?

  2. Если это правильно, что произойдет, если ваши настройки часового пояса будут соответствовать переходу на летнее время? Конечно, когда смещение часового пояса меняется из-за перехода на летнее время, даты и время всех ранее опубликованных статей также будут меняться, возможно, также переходный день или месяц? Я не понимаю, как это будет привлекательно.

По сути, я спрашиваю, как включить изменение часового пояса даты и времени без второго эффекта. Или я все неправильно понял?

Большое спасибо заранее!

1 Ответ

1 голос
/ 01 февраля 2012

Желательно хранить все метки даты и времени в соответствии с UTC.

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

Это решение, которое я использовал при разработке собственной CMS для клиента со складом в Великобритании, у которого были клиенты в Китае.

...