我有一个DateTime对象,我希望得到它与当前日期之间的差异。但我总是得到ZERO作为我的不同,但那不可能。找不到答案。谁能帮助我?谢谢!
private function checkAge($date) {
$currentDate = date('Y-m-d H:i:s');
$result = $date->format('Y-m-d H:i:s');
$diffDate = ($currentDate-$result);
echo $diffDate;
if ($diffDate>=43200) {
return true;
}
return false;
}
答案 0 :(得分:5)
$currentDate
和$result
都是字符串。减去它们不会给出两个日期之间的区别。
您可以使用DateTime diff方法,如果只需要秒,则可以比较时间戳:
private function checkAge($date) {
$currentDate = date('U');
$result = $date->format('U');
$diffDate = ($currentDate-$result);
echo $diffDate;
if ($diffDate>=43200) {
return true;
}
return false;
}
答案 1 :(得分:2)
您是否尝试过diff功能来比较日期?
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>