MySQL CONVERT TZ () возвращает null, когда один из аргументов " +14:00"
Я пытаюсь преобразовать время UTC в локальное время пользователей, он работает нормально, пока я не попытаюсь преобразовать время в часовой пояс +14:00, результат всегда равен нулю, у кого-нибудь есть идея? Вот мой код:
select CONVERT_TZ(now(), '+00:00', '+14:00')
2 ответов
вы можете исправить это, используя имя часового пояса вместо смещения. UTC +14:00
равна Pacific/Kiritimati
часовой пояс. Поэтому, если вы измените запрос на:
select CONVERT_TZ(now(), '+00:00', 'Pacific/Kiritimati')
или
select CONVERT_TZ(now(), 'UTC', 'Pacific/Kiritimati')
затем вы получите действительную дату, а не NULL
.
но есть одно условие. Вашему движку MySQL нужен список часовых поясов. Если вышеуказанные запросы все еще возвращают NULL
, это означает, что у вас нет списка часовых поясов, загруженного в ваш движок MySQL.
пожалуйста, проверьте эту тему для получения дополнительной информации, как это исправить: convert_tz возвращает null
проверен в MySQL 5.6.36.