为什么在mysql Convertz中切换两个相同时间的时区的顺序会产生差异?

为什么在mysql Convertz中切换两个相同时间的时区的顺序会产生差异?,mysql,timezone,convert-tz,Mysql,Timezone,Convert Tz,这会返回“2020-07-01 00:29:59”,这很奇怪,因为东部时间和委内瑞拉实际上共享同一时间 SELECT CONVERT_TZ('2020-06-30 23:59:59','America/Caracas','US/Eastern'); 这将返回“2020-06-30 23:59:59”,这非常有意义 为什么第一个查询没有返回正确的时间,而第二个查询返回正确的时间 有什么建议吗?谢谢大家! 观察到的行为最可能的解释是不正确或过时的时区信息 委内瑞拉卡拉卡斯 从“2007-12-01

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

SELECT CONVERT_TZ('2020-06-30 23:59:59','America/Caracas','US/Eastern');
这将返回“2020-06-30 23:59:59”,这非常有意义

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


有什么建议吗?谢谢大家!

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

委内瑞拉卡拉卡斯

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

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


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


但无论如何,转换函数使用的是mysql数据库中时区表中的信息。

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

委内瑞拉卡拉卡斯

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

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


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


但不管怎样,转换函数使用的都是mysql数据库中时区表中的信息。

夏令时。am/car不遵守DST,而us/eastern遵守。那么,在第二次声明中不也应该显示时差吗?@MarcB:2016年,委内瑞拉加拉加斯观测到一个半小时(+00:30:00)的时间偏移,生效日期为2016-06-01 02:30:00。这之前的最后一次改变是在2007年。对观察到的行为最可能的解释是时区表中的古怪行为。特别是关于未来的日期。那么可能是过时/过时/错误的TZ表。政客们喜欢处理这样毫无意义的事情,但这使得很多系统都过时了。夏令时。am/car不遵守DST,而us/eastern遵守。那么,在第二次声明中不也应该显示时差吗?@MarcB:2016年,委内瑞拉加拉加斯观测到一个半小时(+00:30:00)的时间偏移,生效日期为2016-06-01 02:30:00。这之前的最后一次改变是在2007年。对观察到的行为最可能的解释是时区表中的古怪行为。特别是关于未来的日期。那么可能是过时/过时/错误的TZ表。政客们喜欢把这些毫无意义的东西弄得一团糟,但这会让很多系统的信息过时。非常感谢!这就解释了!非常感谢你!这就解释了!
SELECT CONVERT_TZ('2020-06-30 23:59:59','US/Eastern','America/Caracas');