我之前使用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
^^。= =>医生