Вопрос времени 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
Часовые пояса на соединение. Каждый клиент, который подключается, имеет свой собственный параметр часового пояса, заданный переменной time_zone сессии. Первоначально переменная сеанса берет свое значение из глобальной переменной time_zone, но клиент может изменить свой собственный часовой пояс с помощью этого оператора:
mysql> SET time_zone = часовой пояс;
Значение может быть задано в виде строки, указывающей смещение от UTC, например, "+10:00" или "-6:00".