如何在php中找到两天之间的小时差异

时间:2012-03-14 10:50:15

标签: php

我有两个约会

$date1="03/17/2012 9:00 PM";
$date2=03/17/2012 9:40 PM";

我必须找出这两个日期之间的小时差异。我知道手动计算是40分钟。但我如何在PHP中计算这个。 我读了很多文档并试图计算。但是我得到了错误的结果。看我的代码

$dateDiff=(strtotime($date2)-strtotime($date1))/3600

但我得到了答案0.7。错误的答案

再来一次

我如何显示小时和分钟? 例如:

$date1="03/17/2012 9:00 PM";
    $date2=04/17/2012 9:40 PM";

然后我要显示12小时40分钟?

我现在如何更改代码?

请帮帮我

2 个答案:

答案 0 :(得分:2)

两个strtotime函数中的$ date2错误

使用它     

$date1="03/17/2012 9:00 PM";
$date2="03/17/2012 9:40 PM";


$diff_seconds  = strtotime($date2) - strtotime($date1);
echo floor($diff_seconds/3600).' hours and '.floor($diff_seconds/60).' minutes';

?>

http://codepad.org/5i4QBmlW

答案 1 :(得分:0)

代码中有两个错误:
  - 您的$date2错了,您忘记了"   - 您尝试使用strtotime($date2)两次而不是$date1

关于结果,

如果您想在几分钟内得到结果,请执行/60 如果您想要数小时的结果,只需/3600

$result  = strtotime($date2) - strtotime($date1);
echo floor($result/3600).' hours and '.floor(($result%3600)/60).' minutes';

这是最好的方法,你必须添加%3600,否则如果你有一个多小时就会出现问题(在没有%3600的情况下,这将导致1小时80分钟)。

您可以在此处找到您的结果:Result in CodePad

如果您想12 hour and 40 minutes,则必须$date2="03/18/2012 9:40 AM";