写代码中常常会用到日期运算。在大多数的时候,为了方便,很有可能会简简单单的对一个时间戳进行加减法运算:

$time = mktime(0, 0, 0, 8, 28, 2015);
$one_hour_later = date('Y-m-d H:i:s', $time + 3600);

这是一条简单的获取一小时后时间戳的代码,但如果放大到天以上的单位时,这个时间戳真的是你想要的吗?

比如,你有了某一天0点的时间戳,想知道5天后0点的时间戳,简单的加上5*86400后的时间对吗?

$time = mktime(0, 0, 0, 3, 8, 2015);
$five_day_later = date('Y-m-d H:i:s', $time + 5 * 86400);
echo $five_day_later; 

>> 2015-03-13 00:00:00

貌似没有问题。但换一个地方的人执行呢?

// 时区设置为美国芝加哥
date_default_timezone_set('America/Chicago');
$time = mktime(0, 0, 0, 3, 8, 2015);
$five_day_later = date('Y-m-d H:i:s', $time + 5 * 86400);
echo $five_day_later; 

>> 2015-03-13 01:00:00

怎么不是5天后的0点了呢?

当然,这个关键的问题就出在夏令时上(具体夏令时的原理就不介绍了,可以自行百度)。

解决方法:使用strtotime函数而不是用加减法

// 时区设置为美国芝加哥
date_default_timezone_set('America/Chicago');
$time = mktime(0, 0, 0, 3, 8, 2015);
$five_day_later = date('Y-m-d H:i:s', strtotime('+5 days', $time));
echo $five_day_later;

>> 2015-03-13 00:00:00

虽然这个问题在那些没有夏令时的时区中并不存在,但对于有夏令时存在的时区,确实会对你的预期结果产生影响。

1天 等于 86400 秒?相关推荐

  1. 安装时间大于30秒_1天=24小时=1440分钟=86400秒吗?错!错!错!

    ↑↑↑点击蓝字,轻松关注!寒暑易节,物换星移,宇宙中一切物质的起源与消失,世界上一切事物的诞生与灭亡,都与时间息息相关."嘀嗒嘀嗒",在分针与秒针不断交错间,时间一秒一秒流逝.然而 ...

  2. 合理消费你的86400秒

    合理消费你的86400秒 每天都有宝贵的86400秒,有的人给这些时间赋予的无限的创造力,而有的人却让他们不知不觉地溜走.安东尼罗宾说"你每分每秒都要做最有生产力的事情".我从一篇 ...

  3. 一年大约有3.1536*107s。编写一个程序,要求 输入你的年龄,然后显示该年龄等于多少秒。

    一年大约有3.1536*107s.编写一个程序,要求 输入你的年龄,然后显示该年龄等于多少秒. /**一年大约有3.1536*107s.编写一个程序,要求 输入你的年龄,然后显示该年龄等于多少秒.** ...

  4. 大家知道1GHz的周期等于多少秒吗

    大家知道1GHz的周期等于多少秒吗 频率是衡量一个系统或设备振动.循环或重复事件发生的速度的物理量.在计算机领域中,频率常用来描述处理器的工作速度,即每秒钟执行的操作次数.频率的单位为赫兹(Hz),1 ...

  5. Win2003系统日志,时间服务有 86400 秒没有与系统时间同步

    Win2003系统日志内有一些来源为:W32Time,事件ID为:36,事件描述为: 时间服务有 86400 秒没有与系统时间同步,因为没有一个时间服务提供程序 提供可用的时间戳.时间服 务将不再是同 ...

  6. 玩转你的86400秒

    每一天都有86400秒,如果你把每天 的86400秒换算成86400块钱,如果没有用掉的话,会蒸发掉的,你会不会珍惜这些时间? 每天自学一个小时,7小时一周,365小时一年,一个人可以像全日制学生一样 ...

  7. 每天都有宝贵的86400秒

    每天都有宝贵的86400秒,安东尼罗宾说"你每分每秒都要做最有生产力的事情". 浪费时间=浪费金钱=浪费生命,置顶以警告自己!! 如何合理的消费他们?下面是一些具体的事例. 对这几 ...

  8. 个性主张:玩转你的86400秒

    请问,如果每天都有86400元进人你的银行户头,而你必须当天用光,你会如何运用这笔钱? 天下真有这样的好事吗? 是的,你真的有这样一个户头,那就是"时间".每天每一个人都会有新的8 ...

  9. 计算机速度GHz等于每秒多少次

    计算机速度GHz等于每秒多少次 这个是没有对比关系的.需要看处理器的微指令.计算机的GHz指的是CPU的时钟频率,不同的指令需要的时钟个数是不同的,列如,从内存读一个数据,一般需要4个时钟周期,而进行 ...

最新文章

  1. 赶上直播电商、在线教育、小程序直播的风口 腾讯音视频解决方案助力
  2. Spring Boot连接MySQL报错“Internal Server Error”的解决办法
  3. 震惊了!每30秒学会一个Python小技巧,Github星数6000+
  4. Teams Tab的Single Sign-On
  5. @Autowired作用在普通方法上
  6. 包管理器_包管理器的演变
  7. 设计一个处理两种类型地址的地址簿程序_短信平台的API接口都有哪些类型?
  8. 全局唯一递增的id_细聊分布式ID生成方法
  9. seay代码审计mysql插件报错_Seay源代码审计系统v2.0源码
  10. ListView控件简单用法
  11. MATLAB基础篇——基本语法
  12. Oracle安全配置
  13. 解决一下 WebView2 不能用 socket5代理的问题。
  14. C++多线程同步效率对比之临界区和原子锁
  15. 招银网络科技杭州 java_招银网络科技_杭州Java后端_视频一、二面,HR面
  16. python32位与62位可以随便装吗_电脑32位和64位可以随便换吗???
  17. 微信小程序(小游戏)的示例
  18. MATLAB 声音文件处理
  19. java生成随机密码,包含大小写字母,数字,特殊字符等
  20. 计算机知识方面的类目标识,专利文献种类标识代码标准

热门文章

  1. shell脚本进制转换
  2. linux 从命令行启动,硬盘安装Linux和从Grub命令行启动操作系统
  3. 听见丨HTC发布新款Vive Pro,采用高分辨率OLED屏并内置耳机 高通在CES上发布新芯片,可将蓝牙耳机续航延长3倍
  4. jasypt-spring-boot-starter实现加解密和数据返显
  5. OpenGL扩展之点精灵的使用
  6. 英特尔one API——AI为科技加速
  7. 【最经典的79个】软件测试面试题(内含答案)都是可以提前准备的!
  8. android 横向跑马灯,Android 横向 跑马灯效果TextView
  9. [Android]自定义垂直滚动的广告区
  10. googleplay应用无法支付,内购应用支付窗口闪退解决办法