Какой часовой пояс следует MySQL NOW () - PullRequest
14 голосов
/ 18 сентября 2009

Соответствует ли MySQL NOW () часовому поясу системы или некоторым стандартам, таким как GMT или UTC?

Ответы [ 3 ]

23 голосов
/ 18 сентября 2009

За документы , правила сложны, но в основном сводятся к «часовому поясу текущего сеанса» (по умолчанию используется системный часовой пояс):

Текущая настройка часового пояса сеанса влияет на отображение и хранение времени значения, которые чувствительны к зоне. это включает значения, отображаемые такие функции, как NOW () или CURTIME (), и значения хранятся и извлекаются из столбцов TIMESTAMP. Значения для Столбцы TIMESTAMP конвертируются из текущий часовой пояс в UTC для хранение, и от UTC до текущего часовой пояс для поиска.

Конечно, вы можете использовать UTC_TIMESTAMP(), если вам нужен именно UTC.

12 голосов
/ 18 сентября 2009

Это в текущем часовом поясе. Из 5.1 документов :

Возвращает текущую дату и время в виде значение в «ГГГГ-ММ-ДД ЧЧ: ММ: СС» или Формат ГГГГММДДЧЧММСС.уууууу, в зависимости от того, является ли функция используется в строковом или числовом контексте. Значение выражено в текущем часовой пояс.

Теперь «текущий часовой пояс» может означать разные вещи:

  • Системный часовой пояс
  • Часовой пояс, указанный для сервера MySQL в целом
  • Часовой пояс для конкретного соединения

Более подробная информация содержится в документации по часовому поясу 5.1 .

(Документы 5.4 выглядят одинаково для этих битов. Очевидно, обратитесь к документации для версии, которую вы используете для получения максимально возможной информации.)

0 голосов
/ 18 сентября 2009

Насколько я знаю, его системные часы возвращаются. Проверьте часовой пояс вашей системы. Если вы подключаете MySQL локально (как из PHP), для MySQL часовые пояса не будут иметь значения, я предпочитаю обрабатывать их в PHP.

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