php比较时间一般都是变成时间戳去比较的。
使用函数strtotime函数把时间变成时间戳。
比如:
把2015年7月8日和2015年9月30日进行比较。
// 两个时间点相差多少秒钟
$sub = strtotime("2015-07-08") - strtotime("2015-07-08");
$date1 = '2013-1-31 23:59';
$date2 = '2013-2-1 00:01';
$t1 = strtotime($date1);
$t2 = strtotime($date2);
if (date('Y-m-d', $t1) != date('Y-m-d', $t2)) {//如果不在同一天
echo $date1.' 与 '.$date2.' 相差 '.ceil(($t2-$t1)/24/60/60).' 天';
}
?>
//前面的都已经回答了,不过我也写了个方法就贴上来。
function Countday($from,$to)
{
$from=date('d-m-Y',strtotime($from));
$to=date('d-m-Y',strtotime($to));
$nodays=(strtotime($to) - strtotime($from))/ (60 * 60 * 24); //it will count no. of days
return $nodays;
}
echo strtotime("2013-2-1 00:01")-strtotime("2013-1-31 23:59");
先转换成日期戳相减得到时间差,相差120秒
先提取其中的日期部分,然后都按照当天的00:00:00转化成timestamp,再相减和86400判断。