我正在尝试显示x开始的时间,x完成的时间以及x完成的时间。我有正确的开始和结束显示,但下面的减法给了我一个疯狂的答案。
// to unix timestamps for subtraction
$startTime = strtotime($row['bp_rec_start']);
$endTime = strtotime($row['bp_rec_end']);
$timeTaken = $endTime - $startTime;
//back to date formats
$startTime = date('H:i',$startTime);
$endTime = date('H:i',$endTime);
$timeTaken = date('H:i',$timeTaken);
e.g。 (01:24 - 01:23 = 07:01)
由于
答案 0 :(得分:4)
时间戳是自1970年以来的秒,每个时间戳代表绝对时间点。因此,$endTime - $startTime
会产生某些时间点1975-04-12 07:01:52
。打印当中的小时和分钟部分当然会打印07:01
。时间戳本身虽然是以秒为单位的差异,但您可以这样做:
echo "Difference: $timeTaken seconds";
你当然应该研究DateInterval
(看第3个例子)。