Php 循环中数组中日期的时间间隔

Php 循环中数组中日期的时间间隔,php,Php,我有一个从数据库查询的datetime数组。我想知道如何在php中获取循环中每个日期的时间间隔 范例 Array('2014-11-03 13:00:00','2014-11-03 14:00:00','2014-11-03 16:30:00') 应该输出 1:00 2:30 如果我理解您的问题更正,则此代码段应该可以按照您的要求工作: $my_dates = array('2014-11-03 13:00:00','2014-11-03 14:00:00','2014-11-03 16:3

我有一个从数据库查询的datetime数组。我想知道如何在php中获取循环中每个日期的时间间隔

范例

Array('2014-11-03 13:00:00','2014-11-03 14:00:00','2014-11-03 16:30:00')
应该输出

1:00
2:30

如果我理解您的问题更正,则此代码段应该可以按照您的要求工作:

$my_dates = array('2014-11-03 13:00:00','2014-11-03 14:00:00','2014-11-03 16:30:00');
$last_date = null;
foreach ($my_dates as $current_date) {
    $dt = new DateTime($current_date);
    if ($last_date) {
        $diff = $dt->diff($last_date);
        echo $diff->format('%H:%I')."\n";
    }
    $last_date = $dt;

}

好的,下面是我对for循环的看法:

$ar = array('2014-11-03 13:00:00','2014-11-03 14:00:00','2014-11-03 16:30:00');

     for($i=0;$i<count($ar)-1;$i++){
          $d1 = new DateTime($ar[$i]);
          $d2 = new DateTime($ar[$i+1]);
          $time = $d1->diff($d2); 
          echo $time->h.':'.$time->i.'<br />';
    }
$ar=array('2014-11-03 13:00:00'、'2014-11-03 14:00:00'、'2014-11-03 16:30:00');
对于($i=0;$idiff($d2);
回声$time->h.:'.$time->i.
; }

干杯!

了解该对象将是一个很好的开始。阅读并尝试:我可以使用diff()日期时间对象的方法,但是,我不知道如何在循环中执行此操作…@StoneDeft这意味着您已经尝试了一些东西。因此,请显示您尝试了什么,并解释它以何种方式无法实现您想要的。我现在想知道如何在数据库级别实现此目的。。