Maison >développement back-end >tutoriel php > php计算两个日期相差 年 月 日
在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, 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; return array($y, $m, $d); } ?>