PHP日期时间加减程序代码详解
结合PHP函数date()与strtotime()两个函数来实现大致也是这个意思,代码如下:
<?php /** * PHP里的日期加减方法 * 琼台老屋 */ // 第一步,假设有一个时间 $a = '2012-04-25 10:10:00' ; // 第二步,获得这个日期的时间戳 $a_time = strtotime ( $a ); // 第三步,获得加五个月后的时间戳 $b_time = strtotime ( '+5 Month' , $a_time ); // 第四部,把时间戳转换回日期格式 $b = date ( 'Y-m-d H:i:s' , $b_time ); echo '这是加了五个月后的日期' . $b ; // 如果你觉得以上代码过长也可以一行搞定 $b = date ( 'Y-m-d H:i:s' , strtotime ( '+' . $time . ' Month' , strtotime ( $a ))); echo '这是加了五个月后的日期' . $b ; ?>常用的计算时间,代码如下:
<?php date_default_timezone_set( 'PRC' ); //默认时区 echo "今天:" , date ( "Y-m-d" ,time()), "<br>" ; echo "今天:" , date ( "Y-m-d" , strtotime ( "18 june 2008" )), "<br>" ; echo "昨天:" , date ( "Y-m-d" , strtotime ( "-1 day" )), "<br>" ; echo "明天:" , date ( "Y-m-d" , strtotime ( "+1 day" )), "<br>" ; echo "一周后:" , date ( "Y-m-d" , strtotime ( "+1 week" )), "<br>" ; echo "一周零两天四小时两秒后:" , date ( "Y-m-d G:H:s" , strtotime ( "+1 week 2 days 4 hours 2 seconds" )), "<br>" ; echo "下个星期四:" , date ( "Y-m-d" , strtotime ( "next Thursday" )), "<br>" ; echo "上个周一:" . date ( "Y-m-d" , strtotime ( "last Monday" )). "<br>" ; echo "一个月前:" . date ( "Y-m-d" , strtotime ( "last month" )). "<br>" ; echo "一个月后:" . date ( "Y-m-d" , strtotime ( "+1 month" )). "<br>" ; echo "十年后:" . date ( "Y-m-d" , strtotime ( "+10 year" )). "<br>" ; ?> //输出结果 //今天:2013-06-07 //今天:2008-06-18 //昨天:2013-06-06 //明天:2013-06-08 //一周后:2013-06-14 //一周零两天四小时两秒后:2013-06-16 18:18:29 //下个星期四:2013-06-13 //上个周一:2013-06-03 //一个月前:2013-05-07 //一个月后:2013-07-07 //十年后:2023-06-07这里再看一些日期加减函数,代码如下:
//获取当天的星期(1-7) function GetWeek( $times ) { $res = date ( 'w' , strtotime ( $times )); if ( $res ==0) $res =7; return $res ; } //获取当天时间 function GetTime( $times ) { $res = date ( 'H:i' , strtotime ( $times )); return $res ; } //获取现在过几月的的时间 function GetMonth( $Month , $type = 'l' ) { if (! strcmp ( $type , 'b' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "-$Month months" )); if (! strcmp ( $type , 'l' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "+$Month months" )); return $res ; } //获取当前时间 function GetCurrentDateTime() { $res = date ( "Y-m-d H:i:s" ,time()); return $res ; } //获取当前时间隔几小时之前或之后的时间 function GetDiffHours( $hours , $type = 'l' ) { if (! strcmp ( $type , 'b' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "-$hours hour" )); if (! strcmp ( $type , 'l' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "+$hours hour" )); return $res ; } //间隔几分钟之前或之后的时间 function GetDiffMinute( $Minute , $type = 'l' ) { if (! strcmp ( $type , 'b' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "-$Minute minute" )); if (! strcmp ( $type , 'l' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "+$Minute minute" )); return $res ; } //间隔几秒之前或之后的时间 function GetDiffSec( $sec , $type = 'l' ) { if (! strcmp ( $type , 'b' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "-$sec second" )); if (! strcmp ( $type , 'l' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "+$sec second" )); return $res ; } //间隔几个星期之前或之后的时间 function GetDiffWeek( $Week , $type = 'l' ) { if (! strcmp ( $type , 'b' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "-$Week week" )); if (! strcmp ( $type , 'l' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "+$Week week" )); return $res ; } // 间隔几天之间的时间 function GetDiffDays( $days , $type = 'l' ) { if (! strcmp ( $type , 'b' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "-$days day" )); if (! strcmp ( $type , 'l' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "+$days day" )); return $res ; } //间隔几年之前或之后的时间 function GetDiffYears( $year , $type = 'l' ) { if (! strcmp ( $type , 'b' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "-$year year" )); if (! strcmp ( $type , 'l' )) $res = date ( "Y-m-d H:i:s" , strtotime ( "+$year year" )); return $res ; }查看更多关于PHP日期时间加减程序代码详解 - php日期的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did29250