dapeng
V2EX  ›  问与答

诡异的 PHP 时间戳转换

  •  
  •   dapeng · Mar 28, 2017 · 2163 views
    This topic created in 3506 days ago, the information mentioned may be changed or developed.

    需要将一个既定日期往后推 7 天,然后转为正常日期,遇到了诡异的时间转换

    	
        echo date('Y-m-d H:i:s',1490223600);
        //输出 2017-03-23 00:00:00 
        echo date('Y-m-d H:i:s',1490223600-86400*7);
        //输出 2017-03-16 00:00:00 正确
        
        
        //诡异的一幕出现
        echo date('Y-m-d H:i:s',1490824800);
        //输出 2017-03-30 00:00:00
        
        echo date('Y-m-d H:i:s',1490824800-86400*7);
        //输出 2017-03-22 23:00:00  ------> wt ? 03-22 23:00 少了一小时是什么鬼 
    

    有没有大神遇到过,求科普!

    php 环境 :PHP 7.0.14 (cli) (built: Dec 8 2016 23:34:17) ( NTS )

    Supplement 1  ·  Mar 28, 2017
    谢谢大家! 问题找到: 柏林时区 ;

    欧洲时区有东令时和夏令时
    9 replies  •  2017-03-28 17:46:59 +08:00
    dapeng
    dapeng
    OP
    Mar 28, 2017
    1
    然到就我一个人遇到过 ?
    zhs227
    zhs227
    Mar 28, 2017❤️2
    2
    不是在北京时间时区?看一下是不是有夏令时。
    forelegance
    forelegance
    Mar 28, 2017❤️1
    3
    timezone, 设置成 Asia/Shanghai , Asia/Beijing//
    如果你是在 php cli 运行的话,时区的问题好像有问题,不能读取系统的时区信息吧
    U7Q5tLAex2FI0o0g
    U7Q5tLAex2FI0o0g
    Mar 28, 2017❤️1
    4
    // 亲测
    date_default_timezone_set('PRC');

    echo date('Y-m-d H:i:s',1490223600);
    //输出 2017-03-23 07:00:00
    echo date('Y-m-d H:i:s',1490223600-86400*7);
    //输出 2017-03-16 07:00:00

    echo date('Y-m-d H:i:s',1490824800);
    //输出 2017-03-30 06:00:00
    echo date('Y-m-d H:i:s',1490824800-86400*7);
    //输出 2017-03-23 06:00:00
    U7Q5tLAex2FI0o0g
    U7Q5tLAex2FI0o0g
    Mar 28, 2017
    5
    zjqzxc
    zjqzxc
    Mar 28, 2017❤️1
    6
    http://www.timeofdate.com/timezone/world/dst/2017
    欧洲在 3 月 26 日进入夏令时了;所以, timezone 成 UTC 了?
    SakuraKuma
    SakuraKuma
    Mar 28, 2017
    7
    夏令时~
    cxbig
    cxbig
    Mar 28, 2017
    8
    用 date 函数以前,一定要搞清楚你用的是哪个 timezone 。
    wuling
    wuling
    Mar 28, 2017
    9
    用 DateTime ,用 DateTime ,都上 PHP7 了,为什么不用些高级的时间类呢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5320 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:25 · PVG 14:25 · LAX 22:25 · JFK 01:25
    ♥ Do have faith in what you're doing.