计算PHP中两个日期之间的小时数
我如何计算两个日期之间的差异?
例如:
day1=2006-04-12 12:30:00
day2=2006-04-14 11:30:00
在这种情况下,结果应该是47小时。
较新的PHP版本提供了一些称为DateTime
, DateInterval
, DateTimeZone
和DatePeriod
新类。 关于这个类的很酷的事情是,它考虑了不同的时区,闰年,闰秒,夏季等。最重要的是,它非常易于使用。 下面是你想要的这个对象的帮助:
// Create two new DateTime-objects...
$date1 = new DateTime('2006-04-12T12:30:00');
$date2 = new DateTime('2006-04-14T11:30:00');
// The diff-methods returns a new DateInterval-object...
$diff = $date2->diff($date1);
// Call the format method on the DateInterval-object
echo $diff->format('%a Day and %h hours');
返回的DateInterval对象还提供了format
之外的其他方法。 如果你只需要几个小时的结果,你可以这样:
$date1 = new DateTime('2006-04-12T12:30:00');
$date2 = new DateTime('2006-04-14T11:30:00');
$diff = $date2->diff($date1);
$hours = $diff->h;
$hours = $hours + ($diff->days*24);
echo $hours;
这里是文档的链接:
所有这些课程还提供程序化/功能性的方式来操作日期。 因此,请看一下概述:http://php.net/manual/book.datetime.php
$t1 = StrToTime ( '2006-04-14 11:30:00' );
$t2 = StrToTime ( '2006-04-12 12:30:00' );
$diff = $t1 - $t2;
$hours = $diff / ( 60 * 60 );
你的答案是:
round((strtotime($day2) - strtotime($day1))/(60*60))
上一篇: Calculate number of hours between 2 dates in PHP
下一篇: Can i get all my posts(profile feed) using Facebook Graph API explorer?