php计算两个日期时间差(返回年、月、日)
在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等。在文章中,简单地举例介绍了PHP中如何计算两个日期相差年、月、日。
<?php
/**
+----------------------------------------------------------
*功能:计算两个日期相差年月日
+----------------------------------------------------------
*@paramdate$date1起始日期
*@paramdate$date2截止日期日期
+----------------------------------------------------------
*@returnarray
+----------------------------------------------------------
*/
functionDiffDate($date1,$date2){
if(strtotime($date1)>strtotime($date2)){
$ymd=$date2;
$date2=$date1;
$date1=$ymd;
}
list($y1,$m1,$d1)=explode('-',$date1);
list($y2,$m2,$d2)=explode('-',$date2);
$y=$m=$d=$_m=0;
$math=($y2-$y1)*12+$m2-$m1;
$y=round($math/12);
$m=intval($math%12);
$d=(mktime(0,0,0,$m2,$d2,$y2)-mktime(0,0,0,$m2,$d1,$y2))/86400;
if($d<0){
$m-=1;
$d+=date('j',mktime(0,0,0,$m2,0,$y2));
}
$m<0&&$y-=1;
returnarray($y,$m,$d);
}
?>