PHP常用日期加减计算方法实例小结
2018-09-07 12:17
本文实例总结了PHP常用日期加减计算方法。分享给大家供大家参考,具体如下:
PHP 标准的日期格式
date(Y-m-d H:i:s);
PHP 简单的日期加减计算
<?php date_default_timezone_set(PRC); //默认时区 echo 今天:,date(Y-m-d,time()),\n; echo 今天:,date(Y-m-d,strtotime(18 june 2008)),\n; echo 昨天:,date(Y-m-d,strtotime(-1 day)),\n; echo 明天:,date(Y-m-d,strtotime(+1 day)),\n; echo 一周后:,date(Y-m-d,strtotime(+1 week)),\n; echo 一周零两天四小时两秒后:,date(Y-m-d G:H:s,strtotime(+1 week 2 days 4 hours 2 seconds)), \n; echo 下个星期四:,date(Y-m-d,strtotime(next Thursday)),\n; echo 上个周一:.date(Y-m-d,strtotime(last Monday)).\n; echo 一个月前:.date(Y-m-d,strtotime(last month)).\n; echo 一个月后:.date(Y-m-d,strtotime(+1 month)).\n; echo 十年后:.date(Y-m-d,strtotime(+10 year)).\n; ?>
运行结果:
今天:2018-07-31
今天:2008-06-18
昨天:2018-07-30
明天:2018-08-01
一周后:2018-08-07
一周零两天四小时两秒后:2018-08-09 15:15:40
下个星期四:2018-08-02
上个周一:2018-07-30
一个月前:2018-07-01
一个月后:2018-08-31
十年后:2028-07-31
PHP 进阶的日期加减计算
<?php // 默认时区 date_default_timezone_set(PRC); echo 今天: , date(Y-m-d H:i:s), \n; // 输出当前时间 echo 明天: , date(Y-m-d H:i:s, strtotime(+1 day)), \n; // 输出明天时间 //strtotime 可以接受第二个参数,类型timestamp为指定日期 echo date(Y-m-d H:i:s, strtotime (+1 day, strtotime(2017-11-11))), \n; // 这里+1 day 可以修改参数1为任何想需要的数 // day也可以改成year(年)month(月)hour(小时)minute(分)second(秒) echo date(Y-m-d H:i:s, strtotime(+1 day +1 hour +1 minute)), \n; ?>
运行结果:
今天: 2018-07-31 11:37:11
明天: 2018-08-01 11:37:11
2017-11-12 00:00:00
2018-08-01 12:38:11
PHP 高级的计算日期时间差
<?php // 默认时区 date_default_timezone_set(PRC); echo date(Y-m-d H:i:s), \n; // 日期天数相加函数 echo date(Y-m-d, strtotime(+1 day, strtotime(2016-09-12))), \n\n; echo strtotime(2016-09-12), \n; echo date(Y-m-d, 1473609600), \n; echo date(Y-m-d, 1573609600), \n; // 日期天数相加函数 $d = 2016-09-12 10:12:20; echo date(Y-m-d, strtotime($d +1 day)), \n\n; // 把日期转换成时间截 function date2time($d){ $year=((int)substr($d,0,4)); //取得年份 $month=((int)substr($d,5,2)); //取得月份 $day=((int)substr($d,8,2)); //取得几号 return mktime(0,0,0,$month,$day,$year); } echo date2time(2016-09-12), \n\n; $date_1=2066-09-12; $date_2=2016-09-12; $Date_List_a1=explode(-,$date_1); $Date_List_a2=explode(-,$date_2); $d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]); $d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]); $Days=round(($d1-$d2)/3600/24); echo $date_2 -> $date_1 相差: $Days 天, \n; ?>
运行结果:
2018-07-31 11:37:39
2016-09-13
1473609600
2016-09-12
2019-11-13
2016-09-13
1473609600
2016-09-12 -> 2066-09-12 相差: -17056 天
PS:这里再为大家推荐几款时间及日期相关工具供大家参考:
在线日期/天数计算器:
在线日期计算器/相差天数计算器:
在线日期天数差计算器:
Unix时间戳(timestamp)转换工具:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》及《php字符串(string)用法总结》
希望本文所述对大家PHP程序设计有所帮助。
下一篇:用PHP实现维护文件代码