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'这很有道理。
为什么第一个查询没有返回正确的时间,而第二个查询没有?
有什么建议吗?谢谢!
答案 0 :(得分:0)
观察到的行为的最可能解释是不正确或过时的time_zone信息。
对于委内瑞拉的卡拉库斯
从'2007-12-01'到'2016-06-01',时区偏移是UTC-04:30
从2016-06-01开始,时区偏移为UTC-04:00
我们不知道MySQL时区表是从服务器上的zoneinfo文件加载还是从下载的软件包加载。
但无论如何,它是由CONVERT_TZ函数使用的mysql数据库中的时区表中的信息。