2015-07-01 2 views
1

У меня небольшая проблема: в моей таблице есть несколько полей DATETIME, где дата сохраняется в виде дат UTC.MySQL: Конвертировать с UTC на сервер-время

Теперь я хотел бы использовать это для предложения where, но mysql должен использовать сохраненное datetime и преобразовывать его из UTC в сервер-часовой пояс - в этом случае +2 часа.

Как я могу это сделать?

+0

использовать date_default_timezone_set ('ваш-часовой пояс'); перед добавлением в db –

ответ

0

Решение: обновите значения DATETIME, добавив два часа в инструкцию по обновлению.

UPDATE table_name SET date_time_col = DATE_ADD(date_time_col, INTERVAL 2 HOUR); Теперь все значения указаны в желаемое местное время (на два часа раньше UTC).

Или, если вам нужно сохранить значения в формате UTC, но только переключиться на локальный при запросе, возможно, это: SELECT * FROM table_name WHERE DATE_ADD(date_time_col, INTERVAL 2 HOUR) = 'input query date';

0

Спасибо за ваши ответы.

В то же время я решил это так:

CONVERT_TZ(`date_time_col`,'+00:00',@@global.time_zone) < NOW() 
Смежные вопросы