在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等。在文章中,简单地举例介绍了PHP中如何计算两个日期相差 年、月、日。
PHP;">
/**
+----------------------------------------------------------
+----------------------------------------------------------
- 功能:计算两个日期相差 年 月 日
+---------------------------------------------------------- - @param date $date1 起始日期
- @param date $date2 截止日期日期
+---------------------------------------------------------- - @return array
+----------------------------------------------------------
/
function DiffDate($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,$d2,$y2) - mktime(0,$d1,$y2)) / 86400;
if ($d < 0) {
$m -= 1;
$d += date('j',mktime(0,$y2));
}
$m < 0 && $y -= 1;
return array($y,$m,$d);
}
?>