Каков наилучший способ настройки на местные часовые пояса? - PullRequest
1 голос
/ 14 ноября 2010

Может, я ошибаюсь, используя now() для получения меток времени при хранении данных?

Когда я показываю дату / время пользователю, он, конечно, хочет видеть местное время, и если он вводит данные, связанные со временем, а не я, используя now(), тогда он будет вводить локальную дату / время,

Почему код запутывается в разговорах - как лучше всего обрабатывать метки времени?UTC / местное время?Как и когда настроить?

Ответы [ 2 ]

2 голосов
/ 14 ноября 2010

Просто сохраните все даты в timestamp типе столбца mysql, который может обработать все проблемы с часовыми поясами, и mysql сделает всю работу за вас.

Так что в начале запуска вашего приложения все, что вам нужно, эточтобы указать, какой часовой пояс вам нужен, даты принадлежат запросу:

SET time_zone='Asia/Vladivostok'

Например.

Кроме того, в этом случае вы не должны получать какие-либо временные метки от php, если вам нужно вставить текущуювремя - вы должны использовать mysql's NOW().

Вот и все.

1 голос
/ 14 ноября 2010

Храните все даты в одном часовом поясе, чтобы они соответствовали друг другу. UTC / GMT + 0 хорошо для этого.

Затем используйте CONVERT_TZ для преобразования ввода в UTC / GMT + 0 или из UTC / GMT + 0 в часовой пояс пользователя.

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

Поскольку все, о чем вы спрашивали, это функции SQL, вы должны пометить вопрос с помощью СУБД, которую вы используете (MySQL?) Вместо PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...