Запрос MySQL в течение текущего времени GMT

Это звучит достаточно простым, но я не смог выяснить, как использовать простой оператор SELECT для возврата текущего времени в GMT.

Я пытался использовать CONVERT_TZ () для преобразования ТЕПЕРЬ () к GMT на основе часового пояса сервера и часового пояса GMT, но по некоторым причинам он возвращает ПУСТОЙ УКАЗАТЕЛЬ, когда я вставил текстовые часовые пояса. Единственным путем я добираюсь, результат должен на самом деле вставить смещения, который становится слишком сложным для того, что должно быть действительно простой операцией. Вот то, что я имею в виду:

mysql> SELECT CONVERT_TZ(NOW(),@@global.system_time_zone,'GMT');
NULL

mysql> SELECT CONVERT_TZ(NOW(),'PST','GMT');
NULL

mysql> SELECT CONVERT_TZ(NOW(),'-08:00','+00:00');
2010-02-13 18:28:22

Все, в чем я нуждаюсь, является простым запросом для возврата текущего времени в GMT Заранее спасибо за справку!

25
задан fedorqui 12 March 2013 в 11:31
поделиться

1 ответ

Просто используйте UTC (не влияет на летнее время)

SELECT UTC_TIMESTAMP();

Старое содержимое для справки :

это должно работать, но с

SELECT CONVERT_TZ(NOW(),'PST','GMT');

я также получил NULL в результате. достаточно забавно, что пример в документе mysql также возвращает null

SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_convert-tz кажется вам обнаружил ошибку в mysql . (спасибо + Stephen Pritchard)

вы можете попробовать:

SET @OLD_TIME_ZONE=@@TIME_ZONE;
SET TIME_ZONE='+00:00';
SELECT NOW();
SET TIME_ZONE=@OLD_TIME_ZONE;

ok - это не совсем то, что вы хотели (это 4 запроса, но только один выбор: -)

36
ответ дан 28 November 2019 в 18:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: