function timediff($begin_time,$end_time)
{
if($begin_time < $end_time){
$starttime = $begin_time;
$endtime = $end_time;
}
else{
$starttime = $end_time;
$endtime = $begin_time;
}
$timediff = $endtime-$starttime;
$days = intval($timediff/86400);
$remain = $timediff%86400;
$hours = intval($remain/3600);
$remain = $remain%3600;
$mins = intval($remain/60);
$secs = $remain%60;
$res = array("day" => $days,"hour" => $hours,"min" => $mins,"sec" => $secs);
return $res;
}
=================================================================================
另一种方法:
我们在使用PHP编程中可能需要比较两个时间差,如果直接通过<=>比较会有问题,所以要通过strtotime()函数来控制,具体方法如下:
假设现在要比较的两个时间为$htmer1和$htmer2,我们先要用strtotime()函数计算出两个时间各自的时间戳(关于什么是时间戳,请参考:什么是时间戳),然后用下面的代码比较即可:
$times=strtotime(&htmer2)-strtotime($htmer1) //计算出两个时间差,得到相差的秒数
$timei=round(times/60) //可以得出相差的分钟数,round()是四舍五入
以上代码即完成了两个时间之间的比较,可以根据具体情况进行具体的操作,下面再介绍一下strtotime()的反运算,大家可以用下面的代码做个测试。
<?php
echo strtotime("2008-8-8 08:08:08"); //计算出2008-8-8 08:08:08时间戳
echo "<br />";
echo date("Y-m-d H:i:s",strtotime("2008-8-8 08:08:08")); //根据上面计算出来的时间戳算出具体的时间
?>