尝试减去两次:
$obtime = "2310";
$runtime = "0048";
$run=new DateTime($runtime);
$ob=new DateTime($obtime);
$interval= $run->diff($ob);
$age=$interval->format('%H%I');
print "Age is: $age\n";
以上将输出2222,意味着22小时22分钟的差异。 当然,我们知道时钟会前进,而0048在2310之后仅仅是1小时38分钟。
有没有更好的方法来找到两个“24小时”之间的时差?
答案 0 :(得分:1)
怎么样
$obtime = strtotime("2310");
$runtime = strtotime("0048");
echo gmdate("H:i:s", $obtime - $runtime);
答案 1 :(得分:0)
谢谢gwillie。这不起作用,但是,这是因为时间变量的顺序。
如果从NEWER时间减去旧时间,则可以正常工作。
输出1小时38分钟:
$obtime = strtotime("2210");
$runtime = strtotime("2348");
echo gmdate("H:i", $runtime - $obtime);
虽然这输出22小时22分钟:
$obtime = strtotime("2210");
$runtime = strtotime("2348");
echo gmdate("H:i", $obtime - $runtime);
很高兴知道这种方法可以前进或后退,而我使用的原始方法并不是那么“聪明”。