php计算时间差并返回年月日
以前写过一篇《php计算时间差转换成年月日》的文章,但以前的计算方式没有深究每月天数的因素,统一是按照30天来计算的,计算结果存在一定的误差,经过摸索,提高了结果的准确性。
php计算时间差转换成年月日的功能用途还是十分广泛的,可以用于计算建站时间,年龄,某个时间距离另个时间,等等,计算结果返回 几年几个月几日。
<?PHP function diffDate($date1,$date2){ $datestart= date('Y-m-d',strtotime($date1)); if(strtotime($datestart)>strtotime($date2)){ $tmp=$date2; $date2=$datestart; $datestart=$tmp; } list($Y1,$m1,$d1)=explode('-',$datestart); list($Y2,$m2,$d2)=explode('-',$date2); $Y=$Y2-$Y1; $m=$m2-$m1; $d=$d2-$d1; if($d<0){ $d+=(int)date('t',strtotime("-1 month $date2")); $m--; } if($m<0){ $m+=12; $y--; } if($Y == 0){ return $m.'个月'.$d.'天'; }elseif($Y == 0 && $m == 0){ return $d.'天'; }else{ return $Y.'年'.$m.'个月'.$d.'天'; } } ?>
使用方法:
<?PHP $catdata="1986-09-28"; //计算时间 echo diffDate($catdata,date('Y-m-d',time())); ?>
结果返回:28年0个月15天
共 0 条评论