较新的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-object也提供除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;
这里是文档的链接: