我对PHP的DateInterval
类有点困惑。我真正想要的是两个DateTime
邮票之间经过的秒数。
$t1 = new DateTime( "20100101T1200" );
$t2 = new DateTime( "20100101T1201" );
// number of seconds between t1 and t2 should be 60
echo "difference in seconds: ".$t1->diff($t2)->format("%s");
然而我得到的只是零。 DateInterval
类不适合算术吗? 如何我得到两个时间戳之间的“确切”秒数(或小时数等)?
答案 0 :(得分:9)
如果您只想快速使用秒数,也可以使用
$diff = abs($t1->getTimestamp() - $t2->getTimestamp());
您的代码返回0,因为实际秒差异为0,示例中的差异为 1分钟(1分0秒)。如果您打印%i 格式,您将获得1,这是$t1
和$t2
的正确差异。