Php 如何检查它是否';2天多过去了,不是将来吗?

Php 如何检查它是否';2天多过去了,不是将来吗?,php,date,datetime,Php,Date,Datetime,我想检查日期是否超过或等于过去的2天,但如果是在未来,它也可以工作 代码如下: $d = new DateTime('04-06-2018'); $todayDate = new DateTime(); $interval = $d->diff($todayDate); $days = $interval->format('%a'); if($days >= 2) {echo 'true'; } else {echo 'false';} 如果两个日期之间的差值大于或等

我想检查日期是否超过或等于过去的2天,但如果是在未来,它也可以工作

代码如下:

$d = new DateTime('04-06-2018');

$todayDate = new DateTime();

$interval = $d->diff($todayDate);

$days = $interval->format('%a');

if($days >= 2)
{echo 'true'; }
else
{echo 'false';}

如果两个日期之间的差值大于或等于2,则返回true,如何解决此问题?

扩展if以检查日期是否在过去:

if($days >= 2 && strtotime($d) < time())
如果($days>=2&&strotime($d)
您可以通过检查
日期间隔
中的
反转
属性来执行此操作

$d = new DateTime('3-04-2018');
$todayDate = new DateTime();
$interval = $d->diff($todayDate);

if($interval->format('%a') >= 2
    && 0 === $interval->invert
) {
    echo 'true';
} else {
    echo 'false';
}

还有一种方法可以做到这一点

返回$interval->format(“%r%a”)

如果需要,转换为int:

返回(int)$interval->format(“%r%a”)

在这里,你会得到一个正数和一个负数来检查未来和过去的日期

希望能有帮助