我有一个简单的函数来减去时间:输入值是:
$current = '23:48:32';
$arrival = '23:41:48';
$time = date( "H:i:s", strtotime($current) - strtotime($arrival));
$waitingTime = $time; // 21:06:44
看起来分钟的差异是正确的,我不确定为什么我在分钟前得到21分。它应该是00:06:44
。感谢您的帮助。非常感谢。
尝试使用gmdate()
$time = gmdate( "H:i:s", strtotime($current) - strtotime($arrival));
您不能期望此代码给您一个间隔。
CCD_ 3行以秒为单位计算间隔,但当您将其传递给CCD_。因此您可以获得$time
的时区转换值;你一定得了9分,因为你可能落后于UTC
使用strtotime($current) - strtotime($arrival) / 3600
表示小时,余数除以60表示分钟。然后秒
这就是为什么PHP有DateTime
&DateInterval
s:
<?php
header('Content-Type: text/plain; charset=utf-8');
$current = '23:48:32';
$arrival = '23:41:48';
$current = DateTime::createFromFormat('H:i:s', $current);
$arrival = DateTime::createFromFormat('H:i:s', $arrival);
$diff = $current->diff($arrival);
unset($current, $arrival);
echo $diff->format('%H:%I:%S');
?>
输出:
00:06:44
此代码回显00:06:44
!
$current='23:48:32';
$arrival='23:41:48';
$time = date( "H:i:s", strtotime($current) - strtotime($arrival));
echo $time;//00:06:44
你到底有什么问题?