1
SELECT CONVERT_TZ('2020-06-30 23:59:59','America/Caracas','US/Eastern');

这会返回“2020-07-01 00:29:59”,这很奇怪,因为 EST 和委内瑞拉实际上共享同一时间。

SELECT CONVERT_TZ('2020-06-30 23:59:59','US/Eastern','America/Caracas');

这将返回“2020-06-30 23:59:59”,这非常有意义。

为什么第一个查询没有返回正确的时间,而第二个查询呢?

有什么建议么?谢谢!

4

1 回答 1

0

观察到的行为最可能的解释是不正确或过时的 time_zone 信息。

委内瑞拉加拉库斯

从 '2007-12-01' 到 '2016-06-01',时区偏移为 UTC-04:30

从 '2016-06-01' 开始,时区偏移为 UTC-04:00


我们不知道 MySQL 时区表是从服务器上的 zoneinfo 文件还是从下载的包中加载的。

但无论哪种方式,CONVERT_TZ 函数都在使用 mysql 数据库中时区表中的信息。

于 2016-09-29T18:49:29.900 回答