您现在的位置是:首页 > php php中关于冬夏时令切换引发的问题 马力 2021-08-03 16:09:57 【php】 3577人已围观 简介php中关于冬夏时令切换引发的问题 **在国内由于没有冬夏时令之分,所以直接对时间戳进行加减,不会出现问题。但是在国外的一些地方会有时令之分。** **假设北京时间2019年11月25日 12:00:00,对应的时间戳是:1574654400,照理说这个时间戳加上一天86400秒,理论上就是北京时间2019年11月26日 12:00:00,事实上确实如此,国内的话这么算确实没什么问题,但是如果是国外时区的话,直接加上86400秒可能会有问题。** #为了弄清楚这个问题,我们先来了解一下什么是冬夏时令? ##夏令时 夏令时,表示为了节约能源,人为规定时间的意思。也叫夏时制,夏时令(Daylight Saving Time:DST),又称“日光节约时制”和“夏令时间”,在这一制度实行期间所采用的统一时间称为“夏令时间”。 一般在天亮早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家具体规定不同。目前全世界有近110个国家每年要实行夏令时。 ##冬令时 有夏令时就会有冬令时。高纬度和中纬度的许多国家在夏季到来前,把时针拨快一小时,新的时间就是夏令时,到下半季秋季来临前,再把时针拨回一小时,即形成冬令时。 [2] ##夏令时和冬令时的影响. 拿美国来说,美国各个地区的时间都不同,不像中国一样统一使用北京时间,美国一般以三月份第二个周日凌晨两点当成夏季的开始,十一月份第一个周日的凌晨两点当成冬季的开始。. 所以在每年的三月份第二个周日凌晨两点过后,时间就会往前 调快一个小时 ;同理,十一月份第一个周日把这一个小时 调回来。. 你也可以理解成美国那边,一年里面有一天只有23小时(夏天开始那一天),有一天有25小时(冬天开始那一天),其他时间每天都是24小时。. 所以你会发现,夏天的时候,中国的北京时间( 东八区 )与美国太平洋时区( 西八区 )的时差是 15 小时,而到了冬天却变成 16 小时. #代码体现 **比如:1572764400(太平洋时间2019-11-03 00:00:00,单位:秒)** date_default_timezone_set('PST8PDT'); echo date('Y-m-d H:i:s',1572764400).PHP_EOL; echo date('Y-m-d H:i:s',1572764400+ 86400).PHP_EOL; date_default_timezone_set('Asia/Shanghai'); echo date('Y-m-d H:i:s',1572764400).PHP_EOL; echo date('Y-m-d H:i:s',1572764400+ 86400).PHP_EOL; 2019-11-03 00:00:00 2019-11-03 23:00:00 2019-11-03 15:00:00 2019-11-04 15:00:00 #解决办法 **代码中尽量直接使用php的函数进行时间的加减就不会有问题,不要使用86400这样的数字直对时间戳进行加减。** **代码示例:** date_default_timezone_set('PST8PDT'); echo date('Y-m-d H:i:s',1572764400).PHP_EOL; echo date('Y-m-d H:i:s',strtotime("+ 1 days",1572764400)).PHP_EOL; date_default_timezone_set('Asia/Shanghai'); echo date('Y-m-d H:i:s',1572764400).PHP_EOL; echo date('Y-m-d H:i:s',strtotime("+ 1 days",1572764400)).PHP_EOL; 2019-11-03 00:00:00 2019-11-04 00:00:00 2019-11-03 15:00:00 2019-11-04 15:00:00 很赞哦! (0) 上一篇:laravel的上线配置操作 下一篇:php面试大全 (不定时更新) 相关文章 随机图文 php中关于冬夏时令切换引发的问题 php中关于冬夏时令切换引发的问题 Ubuntu18.04虚拟机过一段时间无法上网 Ubuntu18.04虚拟机过一段时间无法上网 git仓库迁移 gitlab仓库迁移到github上 laravel的上线配置操作 laravel的上线配置操作 文章评论 评论总数:0来说两句吧... 用户名: 验证码: 点击排行 php代码更新到服务器上 代码没有立即生效篇 解决方法 php面试大全 (不定时更新) php常用的 命令行 php面试题 php实现的滑动时间窗口的限流算法 PHP面试八股文 最近更新 PHP面试八股文 php实现的滑动时间窗口的限流算法 php面试大全 (不定时更新) php中关于冬夏时令切换引发的问题 php代码更新到服务器上 代码没有立即生效篇 解决方法 php面试题 php常用的 命令行