PHP Datetime:如何获取DateTime对象和当前时间之间的差异

时间:2014-07-02 09:34:32

标签: php datetime

我有一个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;
}

2 个答案:

答案 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');
?>