MySQL CONVERT_TZ() 在其中一个参数"+14:00"时返回 null



我试图将UTC时间转换为用户本地时间,它工作得很好,直到我尝试将时间转换为+14:00时区,结果总是null,有人有想法吗?下面是我的代码:

select CONVERT_TZ(now(), '+00:00', '+14:00')

这是MySQL的一个已知错误:

MySQL不识别UTC +14:00时区偏移

您可以通过使用时区名称而不是偏移量来解决这个问题。UTC +14:00等于Pacific/Kiritimati时区。所以如果你修改query为:

SELECT CONVERT_TZ(NOW(), '+00:00', 'Pacific/Kiritimati')

SELECT CONVERT_TZ(NOW(), 'UTC', 'Pacific/Kiritimati')

那么你将得到有效日期,而不是NULL

BUT有一个条件。MySQL引擎需要时区列表。如果上面的查询仍然返回NULL,这意味着你没有时区列表加载到你的MySQL引擎。

可能你还必须运行这个命令:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

关于加载时区列表的更多信息,请检查此线程:

MySQL 5.6.36上测试.

相关内容

  • 没有找到相关文章

最新更新