我正在尝试将UTC时间转换为用户本地时间,它工作正常,直到我尝试将时间转换为+14:00时区,结果始终为null,任何人都有想法? 这是我的代码:
select CONVERT_TZ(now(), '+00:00', '+14:00')
答案 0 :(得分:4)
这是MySQL中的一个已知错误:
答案 1 :(得分:0)
您可以通过使用时区名称而不是偏移来解决此问题。 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 returns null
在 MySQL 5.6.36 中测试。