计算PHP中两个日期之间的小时数

我如何计算两个日期之间的差异?

例如:

day1=2006-04-12 12:30:00
day2=2006-04-14 11:30:00

在这种情况下,结果应该是47小时。


较新的PHP版本提供了一些称为DateTimeDateIntervalDateTimeZoneDatePeriod新类。 关于这个类的很酷的事情是,它考虑了不同的时区,闰年,闰秒,夏季等。最重要的是,它非常易于使用。 下面是你想要的这个对象的帮助:

// 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;

这里是文档的链接:

  • DateTime的级
  • DateTimeZone级
  • DateInterval级
  • DatePeriod级
  • 所有这些课程还提供程序化/功能性的方式来操作日期。 因此,请看一下概述: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))

    链接地址: http://www.djcxy.com/p/59011.html

    上一篇: Calculate number of hours between 2 dates in PHP

    下一篇: Can i get all my posts(profile feed) using Facebook Graph API explorer?