2010-11-14 3 views
1

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

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

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

ответ

2

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

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

SET time_zone='Asia/Vladivostok' 

Например.

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

Это все.

+0

+1 Это звучит хорошо. Предположим, что я не знаю, в какой временной зоне находится s/w, могу ли я получить его автоматически как-то? – Mawg

+1

@Mawg: это другой вопрос, связанный с javascript ;-) http://stackoverflow.com/questions/1091372/getting-the-clients-timezone-in-javascript - это возможный ответ – zerkms

+0

Спасибо, но я не разрешены клиентские решения :-( – Mawg

1

Храните все даты в одном часовом поясе, чтобы они были согласованы. 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.

+0

+1 И я теперь отметил его ODBC (I подумал, что это вопрос PHP, но, по-видимому, нет). Если я конвертирую все в UTC, то это _is_ согласуется, но, как я сказал в этом вопросе, мне нужно преобразовать все, что происходит и выходит из d/b, что является боль (особенно если я пропустил один). Поскольку есть только 2 ответа, а другой, похоже, противоречит этому, я буду считать, что нет стандартной «лучшей практики». – Mawg

Смежные вопросы