PHP时间减法不起作用

时间:2011-06-07 01:17:12

标签: php date time strtotime unix-timestamp

我正在尝试显示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)

由于

1 个答案:

答案 0 :(得分:4)

时间戳是自1970年以来的,每个时间戳代表绝对时间点。因此,$endTime - $startTime会产生某些时间点1975-04-12 07:01:52。打印当中的小时和分钟部分当然会打印07:01。时间戳本身虽然是以秒为单位的差异,但您可以这样做:

echo "Difference: $timeTaken seconds";

你当然应该研究DateInterval(看第3个例子)。