V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
iugo
V2EX  ›  问与答

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

  •  
  •   iugo · 2015-07-15 12:24:39 +08:00 · 4015 次点击
    这是一个创建于 3229 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 同时出现?
    这是什么情况?
    2 条回复    2015-07-15 13:00:30 +08:00
    nirvam
        1
    nirvam  
       2015-07-15 12:51:55 +08:00 via Android   ❤️ 1
    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
        2
    iugo  
    OP
       2015-07-15 13:00:30 +08:00
    @nirvam 换了别的方法提交时间, 还是有 6 小时的时差. 这六小时好奇怪啊.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1243 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:31 · PVG 07:31 · LAX 16:31 · JFK 19:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.