2009-09-18 2 views

ответ

10

Текущее время в этом часовом поясе. Из 5.1 docs:

Возвращает текущую дату и время в качестве значения в 'YYYY-MM-DD HH: MM: SS' или формате YYYYMMDDHHMMSS.uuuuuu, в зависимости от того, функция используется в строка или числовой контекст. Значение выражается в текущем часовом поясе .

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

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

Более подробная информация находится в 5.1 time zone documentation.

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

22

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

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

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

+6

+1 для обозначения функции UTC_TIMESTAMP(). –

0

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

+0

Не могли бы вы снова объяснить материал PHP. Если я получаю столбец timestamp, используя PHP, в какой временной зоне он находится? Часовой пояс PHP по умолчанию? – Sohaib

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