方法2:
复制代码
php获得任意时间与当前时间的时间差
代码:
#功能:获得任意时间与当前时间的时间差function querydays($datestr){#格式化时间$da=preg_split(/(-| |:)/i,$datestr);$nowyear=date(y);$nowmon=date(n);$nowday=date(d);$nowtimes=mktime(0,0,0,$nowmon,$nowday,$nowyear);$pdtimes= mktime(0,0,0,$nowmon,$nowday,$nowyear-1);$bjtimes= mktime(0,0,0,$da[1],$da[2],$da[0]);#判断所给出的时间是不是在一年内if ($bjtimes>=$pdtimes and $bjtimesreturn (floor(strftime(%j,mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime($da[3],$da[4],$da[5],$da[1],$da[2],$da[0]))));}else{$loop=$nowyear-$da[0];$totaldays=(floor(strftime(%j,mktime(0,0,0,$nowmon,$nowday,$nowyear)-mktime(0,0,0,1,1,$nowyear))));for($i=1;$ifor($j=12;$j>=1;$j--){if ($da[0]==$nowyear-$i and $da[1]==$j){$days=mondays($nowyear-$i,$j);return $totaldays+=$days-$da[2];break;}else{$days=mondays($nowyear-$i,$j);$totaldays+=$days;}//end else }//end for}//end for}//end else}//end function#取得月分的天数function mondays($year,$month){switch ($month){case 1:case 3:case 5:case 7:case 8:case 10:case 12: $days=31;break;case 4:case 6:case 9:case 11: $days=30;break;case 2: if (checkdate($month,29,$year)){$days=29;}else{$days=28;}//end elsebreak;}//end switchreturn $days;}//end function$datestr=2002-1-14 9:47:20;echo querydays($datestr);?>
复制代码
php计算两个时间相差的年月时分秒
php如何计算两个时间相差几年几月几时几分几秒
先将两个时间转化为时间戳,然后相减得到两个时间相差的秒数,最后进行一些算术就可以得到两个时间相差的年月日时分秒了。
代码:
复制代码
