怎么解决时区错误: CST 和 +0800 同时出现?

2015-07-15 12:24:39 +08:00
 iugo
PHP 使用 DateTime 插入时间, 实例化 var_dump() 后:

object(MysqlDatetime)#1 (3) { ["date"]=> string(26) "2015-07-15 12:12:11.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "PRC" }

应该是正常的.

然后将实例化的值插入 MySQL , 然后时区就比中国大陆时区慢了 6 小时. 猜想可能是服务器时区出了问题, 而 MySQL 是跟随服务器的.

服务器: CentOS 6
date 后得到: 2015年 07月 15日 星期三 12:15:05 CST
date -R 后得到: Wed, 15 Jul 2015 12:15:22 +0800

有点疑惑了, CST 怎么和 +0800 同时出现?
这是什么情况?
4069 次点击
所在节点    问与答
2 条回复
nirvam
2015-07-15 12:51:55 +08:00
Arch Linux time zone选择Asia/Shanghai返回的就是CST +0800

摘自百度百科:
CST为如下 3个不同的时区的缩写:
  美国中部时间:Central Standard Time (USA) UT-6:00

澳大利亚中部时间:Central Standard Time (Australia) UT+9:30

中国标准时间:China Standard Time UT+8:00

古巴标准时间:Cuba Standard Time UT-4:00
iugo
2015-07-15 13:00:30 +08:00
@nirvam 换了别的方法提交时间, 还是有 6 小时的时差. 这六小时好奇怪啊.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/205835

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX