PHP 标准的日期格式
date("Y-m-d H:i:s");
PHP 简单的日期加减计算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?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" ; ?> |
运行结果:
1 2 3 4 5 6 7 8 9 10 11 | 今天:2017-11-06 今天:2008-06-18 昨天:2017-11-05 明天:2017-11-07 一周后:2017-11-13 一周零两天四小时两秒后:2017-11-15 22:22:42 下个星期四:2017-11-09 上个周一:2017-10-30 一个月前:2017-10-06 一个月后:2017-12-06 十年后:2027-11-06 |
PHP 进阶的日期加减计算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?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" ; ?> |
运行结果:
今天: 2017-11-06 18:58:04
明天: 2017-11-07 18:58:04
2017-11-12 00:00:00
2017-11-07 19:59:04
PHP 高级的计算日期时间差
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <?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" ; ?> |
运行结果:
1 2 3 4 5 6 7 8 9 10 11 | 2017-11-06 19:13:02 2016-09-13 1473609600 2016-09-12 2019-11-13 2016-09-13 1473609600 2066-09-12 -> 2016-09-12 相差: 18262 天 |