我以前使用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 Feed中约会,从5月12日10:20到5月18日17:20,下面的代码片段返回的持续时间值是07:09。
答案 0 :(得分:1)
计算时差 -
$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
答案 1 :(得分:1)
问题在于您应该更新的date
方法格式:
$duration = date('d H:i' ,strtotime(
$row['scheduleDateEnd'].'T'.$row['scheduleTimeEnd'])
- strtotime($row['scheduleDate'].'T'.$row['scheduleTime']) - 3600)
我的意思是d H:i
^^。 ==&GT; Doc