计算两个日期相差 年 月 日
程序员文章站
2022-06-15 08:19:10
...
计算两个日期相差 年 月 日
相差年月日计算
DiffDate("2011-01-06","2015-06-16");
相差年月日计算
DiffDate("2011-01-06","2015-06-16");
/**
+----------------------------------------------------------
* 功能:计算两个日期相差 年 月 日
+----------------------------------------------------------
* @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); //相差月数
$mm = $math; //相差总月数
$d = (mktime(0, 0, 0, $m2, $d2, $y2) - mktime(0, 0, 0, $m2, $d1, $y2)) / 86400;
if ($d
$m -= 1;
$d += date('j', mktime(0, 0, 0, $m2, 0, $y2));
}
$m
return array($y, $m, $d,$mm);
}
相差天 小时 秒 计算$one = strtotime('2011-12-08 07:02:40');//开始时间 时间戳
$tow = strtotime('2011-12-25 00:00:00');//结束时间 时间戳
$cle = $tow - $one; //得出时间戳差值
/* 这个只是提示
echo floor($cle/60); //得出一共多少分钟
echo floor($cle/3600); //得出一共多少小时
echo floor($cle/3600/24); //得出一共多少天
*/
/*Rming()函数,即舍去法取整*/
$d = floor($cle/3600/24);
$h = floor(($cle%(3600*24))/3600); //%取余
$m = floor(($cle%(3600*24))%3600/60);
$s = floor(($cle%(3600*24))%60);
echo "两个时间相差 $d 天 $h 小时 $m 分 $s 秒"
AD:真正免费,域名+虚机+企业邮箱=0元