【问题标题】:mysql from_timestamp(0) does not match my current timemysql from_timestamp(0) 与我当前时间不匹配
【发布时间】:2017-12-05 08:33:46
【问题描述】:

我的时区是 UTC+8,但是当我运行时

mysql> select from_unixtime(0);
+---------------------+
| from_unixtime(0)    |
+---------------------+
| 1970-01-01 07:30:00 |
+---------------------+

我得到的是“1970-01-01 07:30:00”而不是“1970-01-01 08:00:00”。

我跑了:

show variables like "%time_zone%";  

然后我得到:

system_time_zone    +08  
time_zone           SYSTEM  

【问题讨论】:

  • 你在哪个时区(政区)? 1970 年初,您的政治观点的时区是否有可能是 +0:730?如果是这样,这就解释了为什么软件会翻译 1970-01-01 00:00(unix 时间戳零)。 zoneinfo 系统包含政治部门时区规则的更改历史记录。
  • 是的,你是对的,我在新加坡,那是因为 1970 年的时区是 +7.5。非常感谢!

标签: mysql timezone


【解决方案1】:

假设您在新加坡,1970 年该地区的时区是 GMT +7.5。直到 1982 年,才开始使用 GMT +8 的现值。

Period in use   Time offset from GMT    Reference Meridian  Name of Time

...           1905 May 31   + 6hr 55m 25s   103 51 16 E Singapore Mean Time
1905 Jun 01 - 1932 Dec 31   + 7hr 00m 00s   105 00 00 E Standard Zone Time
1933 Jan 01 - 1941 Aug 31   + 7hr 20m 00s   110 00 00 E Daylight Saving Time    
1941 Sep 01 - 1942 Feb 15   + 7hr 30m 00s   112 30 00 E Daylight Saving Time
1942 Feb 16 - 1945 Sep 12   + 9hr 00m 00s   135 00 00 E Tokyo Standard Time @
1945 Sep 13 - 1981 Dec 31   + 7hr 30m 00s   112 30 00 E DST/MST/SST # @
1982 Jan 01 - Present       + 8hr 00m 00s   120 00 00 E Singapore Standard Time

http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2011-07-17
    • 2019-05-17
    • 1970-01-01
    • 2018-03-18
    相关资源
    最近更新 更多