-3

实际上我有 2 个 DateTime 对象

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

因此无需对这两个对象进行任何更改。是否可能等于这两个对象。

4

3 回答 3

1

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

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

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

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

您可以在此处查看更多比较 DateTime 对象的示例。还要检查如何使用 format() 方法

于 2013-09-26T17:13:48.953 回答
0

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

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

这是它的手册:DateTime::diff

然后为了得到你可以像这样格式化间隔的天数

$interval = $interval->format('%d');
于 2013-09-26T17:09:24.230 回答
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 会将日期设置为以下格式:04/14/2013

您必须在 $d2 上执行 date_format,因为它实际上是“2013-04-14 00:00:00”。

于 2013-09-26T17:26:20.397 回答