获取 php 中日期时间之间的差异

get diff between date times in php

我之前使用 php strtotime 函数来计算两个时间戳之间的差异,以检查给定约会的持续时间。现在我需要包括日期和时间,因为某些约会可能会持续一天以上。

前一码:

$duration = date('H:i',strtotime($row['scheduleTimeEnd']) - strtotime($row['scheduleTime']) - 3600)

新尝试日期:

$duration = date('H:i',strtotime($row['scheduleDateEnd'].'T'.$row['scheduleTimeEnd']) 
- strtotime($row['scheduleDate'].'T'.$row['scheduleTime']) - 3600)

两段代码产生相同的结果。即我在我的 JSON 提要中有一个约会,从 5 月 12 日 10:20 到 5 月 18 日 17:20,下面的其他代码段返回的持续时间值为 07:09 .

计算时差 -

$date1 = new DateTime('2015-05-17 17:20:00');
$date2 = new DateTime('2015-05-12 10:00:00');

$interval = $date1->diff($date2);
$days = $interval->days;
$hours = ($days * 24) + $interval->h;
echo "Difference : ". $hours .' : '.$interval->i;

使用日期时间接口。

输出

Difference : 127 : 20

问题出在 date 方法的格式上,您应该这样更新:

$duration = date('d H:i' ,strtotime(
                   $row['scheduleDateEnd'].'T'.$row['scheduleTimeEnd']) 
                 - strtotime($row['scheduleDate'].'T'.$row['scheduleTime']) - 3600)

我指的是格式 d H:i ^^。 ==> Doc