php实现的DateDiff和DateAdd时间函数代码分享
扩展php中的时间函数DateDiff和DateAdd
functionDateDiff($part,$begin,$end) { $diff=strtotime($end)-strtotime($begin); switch($part) { case"y":$retval=bcdiv($diff,(60*60*24*365));break; case"m":$retval=bcdiv($diff,(60*60*24*30));break; case"w":$retval=bcdiv($diff,(60*60*24*7));break; case"d":$retval=bcdiv($diff,(60*60*24));break; case"h":$retval=bcdiv($diff,(60*60));break; case"n":$retval=bcdiv($diff,60);break; case"s":$retval=$diff;break; } return$retval; } functionDateAdd($part,$number,$date) { $date_array=getdate(strtotime($date)); $hor=$date_array["hours"]; $min=$date_array["minutes"]; $sec=$date_array["seconds"]; $mon=$date_array["mon"]; $day=$date_array["mday"]; $yar=$date_array["year"]; switch($part) { case"y":$yar+=$number;break; case"q":$mon+=($number*3);break; case"m":$mon+=$number;break; case"w":$day+=($number*7);break; case"d":$day+=$number;break; case"h":$hor+=$number;break; case"n":$min+=$number;break; case"s":$sec+=$number;break; } returndate("Y-m-dH:i:s",mktime($hor,$min,$sec,$mon,$day,$yar)); } FunctionDateAdd($part,$n,$date) { switch($part) { case"y":$val=date("Y-m-dH:i:s",strtotime($date."+$nyear"));break; case"m":$val=date("Y-m-dH:i:s",strtotime($date."+$nmonth"));break; case"w":$val=date("Y-m-dH:i:s",strtotime($date."+$nweek"));break; case"d":$val=date("Y-m-dH:i:s",strtotime($date."+$nday"));break; case"h":$val=date("Y-m-dH:i:s",strtotime($date."+$nhour"));break; case"n":$val=date("Y-m-dH:i:s",strtotime($date."+$nminute"));break; case"s":$val=date("Y-m-dH:i:s",strtotime($date."+$nsecond"));break; } return$val; }