【发布时间】:2017-02-08 03:46:18
【问题描述】:
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”,这很有意义。
为什么第一个查询没有返回正确的时间,而第二个却返回了?
有什么建议吗?谢谢!
【问题讨论】:
-
夏令时。 am/car 不遵守夏令时,而 us/eastern 遵守。
-
那么第二个语句不应该也显示时间差吗?
-
@MarcB:2016 年,委内瑞拉加拉加斯观察到一个半小时(+00:30:00)的时间偏移,从 2016-06-01 02:30:00 生效。在此之前的最后一次更改是在 2007 年。对观察到的行为最可能的解释是时区表中的不稳定。尤其是关于未来的日期。
-
那么可能是一个过时/过时/错误的 TZ 表。政客们喜欢搞乱这样毫无意义的事情,但这会导致很多系统的 tz 信息过时。
标签: mysql timezone convert-tz