比较两个DateTime对象

时间:2013-09-26 17:04:33

标签: php

实际上我有2个DateTime对象

$d1 = new DateTime('04/14/2013 8.00 AM');
$d2 = new DateTime('04/14/2013');

所以不对这两个对象进行任何更改。是否有可能与这两个对象相等。

3 个答案:

答案 0 :(得分:1)

要获得两个DateTime对象之间的差异,请使用DateTime :: diff()方法:

$interval = $d1->diff($d2);

因此,您将获得一个DateInterval对象。要从DateInterval对象获取格式化的时差,请使用format()方法,例如:

echo $interval->format('%s seconds');

您可以看到比较DateTime对象here的更多示例。 同时检查how to use format() method

答案 1 :(得分:0)

是的,您可以对DateTime对象使用内置的diff方法;

$interval = $d1->diff($2);

以下是手册:DateTime::diff

然后,你可以像以前一样格式化这段时间

$interval = $interval->format('%d');

答案 2 :(得分:0)

您可以格式化日期以消除时间,如:

if ($d1->format('m/d/Y') == $d2->format('m/d/Y'))
    echo 'equal';
else
    echo 'not equal';

或者像这样:

if (date_format($d1, 'm/d/Y') == date_format($d2, 'm/d/Y'))
    echo 'equal';
else
    echo 'not equal';

date_format会将日期格式化为:2013年4月14日

你必须在$ d2上做一个date_format,因为它真的是'2013-04-14 00:00:00。'