PHP中两次(没有日期)之间的差异

时间:2014-07-20 19:28:55

标签: php time difference

我知道有很多同样的问题,但没有什么能做我需要的。

我有两次以H.MM(3.25 - 那不是3:25,其3:15)或HH.MM(22.75 - 所以它的22:45)的形式出现。

我需要以小时为单位计算starttime和endtime之间的差异。我没有约会。

我的时间是(所以你可以检查):

  1. 15.25 - > 23.75
  2. 10.0 - > 22.0
  3. 22.5 - > 8.0
  4. 20.0 - > 10.0
  5. 9.0 - > 17.0
  6. 23.0 - > 6.0
  7. 我的头已经着火了。

    感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

$times = array(
    array(15.25,23.75),
    array(10.0,22.0),
    array(22.5,8.0),
    array(20.0,10.0),
    array(9.0,17.0),
    array(23.0,6.0),
);

foreach($times as $time) {

    $end = $time[1];

    if($time[1] < $time[0]) {
        $end += 24;
    }

    $diff = $end - $time[0];
    $hours = floor($diff);
    $minutes = ($diff - $hours) * 60;

    if(strlen($minutes) < 2)
        $minutes .= '0';

    print $time[0] . ' -> ' . $time[1] 
    . " $hours:$minutes\n";
}

Demo