Php 如何计算两个日期之间30分钟的间隔?

Php 如何计算两个日期之间30分钟的间隔?,php,Php,例如,我有: $first = '2014-05-18 12:00:00'; $last = '2014-05-18 13:30:00'; $first = '2014-05-18 11:00:00'; $last = '2014-05-18 14:00:00'; 我想计算这些日期在30分钟内的间隔时间。 对于本例,间隔=3 其他例子: $first = '2014-05-18 12:00:00'; $last = '2014-05-18 13:30:00'; $first = '2014

例如,我有:

$first = '2014-05-18 12:00:00';
$last = '2014-05-18 13:30:00';
$first = '2014-05-18 11:00:00';
$last = '2014-05-18 14:00:00';
我想计算这些日期在30分钟内的间隔时间。 对于本例,间隔=3

其他例子:

$first = '2014-05-18 12:00:00';
$last = '2014-05-18 13:30:00';
$first = '2014-05-18 11:00:00';
$last = '2014-05-18 14:00:00';
间隔=6

在PHP中实现这一点的最佳方法是什么?

简单的数学解决方案

function timeDiff30minutes($first,$last){
    $first = new Datetime($first);
    $last = new Datetime($last);
    $time_diff = $first->diff($last);
    $time_diff_minute = $time_diff->days * 24 * 60;
    $time_diff_minute += $time_diff->h * 60;
    $time_diff_minute += $time_diff->i;
    return $time_diff_minute/30;
}
timeDiff30minutes('2014-05-18 11:00:00','2014-05-18 14:00:00') // output 6
$s=floor(abs(strtotime($first)-strtotime($last))/30/60);
这是小提琴

在右侧的“相关”下查看>>>您可能会在那里找到一些东西。此外,您还可以通过Google找到许多结果,这很可能会引导您回到这里,从已经询问和回答的问答中。谢谢,但我的服务器上有PHP 5.1,函数DateTime::diff()不存在:(PHP5.1有点旧。最好升级到PHP5.3或更高版本。5.1自2006年以来一直没有维护过。此外,对于上面给出的示例,这将返回2,因为您的分辨率是小时。@stephan您是对的。