Вопрос времени SQL - нужно 6 часов вперед

Возможный дубликат:
Добавить 2 часа к текущему времени в MySQL?

Мой сервер в настоящее время основан на нашем восточном времени, и, поскольку я нахожусь в Великобритании, мне нужно продвинуться вперед на 6 часов.

Когда используешь NOW() в MySQL я получаю неправильное время, есть ли что-то, что я могу добавить к NOW() перенести это на 6 часов? Спасибо

4 ответа

Да, вы можете использовать date_add функция:

date_add(now(), interval 6 hour)

Вы также можете использовать adddate который является псевдонимом для date_add,

Также следует сохранить время в формате UTC в базе данных и преобразовать его в местное время при его отображении.

Если преобразование происходит из одного часового пояса в другой, а не в указанное количество часов, вы можете использовать convert_tz функция. Пример:

convert_tz(now(), '-6:00', '0:00')

или же:

convert_tz(now(), 'US/Eastern', 'MET')

Ref это

SELECT ADDTIME(now(), '06:00:00')

СМОТРИТЕ ЗДЕСЬ С РАЗНЫМ

SELECT ADDTIME(now(), '06:00:00') as EAST_TIME , now() as UK_TIME

Вы хотите использовать функцию DateAdd:

Пример:

SELECT DATEADD(hour, 6, GetDate())

Часовые пояса на соединение. Каждый клиент, который подключается, имеет свой собственный параметр часового пояса, заданный переменной time_zone сессии. Первоначально переменная сеанса берет свое значение из глобальной переменной time_zone, но клиент может изменить свой собственный часовой пояс с помощью этого оператора:

mysql> SET time_zone = часовой пояс;

Значение может быть задано в виде строки, указывающей смещение от UTC, например, "+10:00" или "-6:00".

Другие вопросы по тегам