MySql - ВЫБРАТЬ столбец TimeStamp в формате UTC
В моей БД Mysql 5.0 у меня есть столбец для контроля информации LastUpdated. Столбец является меткой времени и MySql автоматически обновляет данные.
Я пытаюсь выбрать этот столбец в формате UTC.
Проблема в том, что сервер настроен на дату и время в США. Согласно документации MySql, БД хранит информацию в UTC, но когда я хочу отобразить информацию, она преобразует ее во время Сервера.
Есть ли способ сделать команду SELECT, избегая этого преобразования?
3 ответа
Помимо изменения часового пояса по умолчанию для сервера, часовой пояс также можно настроить для каждого соединения, выполнив следующую инструкцию SQL:
SET time_zone = timezone;
Где часовой пояс - это имя часового пояса ( см. Документы MySQL).
Кроме того, вы также можете преобразовать временную метку в другой часовой пояс, используя CONVERT_TZ
функция
SELECT
CONVERT_TZ(`timestamp_field`, @@session.time_zone, '+00:00') AS `utc_datetime`
FROM `table_name`
Я сделал здесь шпаргалку: должен ли MySQL иметь часовой пояс с UTC?
Мне нужно было изменить это, чтобы добавить "Z" в конце других вещей (например, jQuery timeago), которые знали, что время было UTC:
SELECT
CONCAT(CONVERT_TZ(`timestamp_field`, @@session.time_zone, '+00:00'), 'Z')
AS `utc_datetime`
FROM `table_name`