Это звучит достаточно простым, но я не смог выяснить, как использовать простой оператор 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 Заранее спасибо за справку!
Просто используйте 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 запроса, но только один выбор: -)