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



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

之前代码:

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

New try with dates:

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

使用DateTime接口

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 ^^。= =>医生

相关内容

  • 没有找到相关文章

最新更新