以 PHP 计算 2 个日期之间的小时数
如何计算两个日期之间的小时之差?
例如:
day1=2006-04-12 12:30:00
day2=2006-04-14 11:30:00
在这种情况下,结果应为 47 小时。
如何计算两个日期之间的小时之差?
例如:
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 );