您的位置:首页 > 编程语言 > PHP开发

php计算两个时间差并返回差多少天、时、分、秒

2013-11-23 14:31 288 查看
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")); //根据上面计算出来的时间戳算出具体的时间
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: