日期时间值与系统日期时间的比较失败

comparison of datetime value and system date time fails

我使用日期时间选择器为每个 post 保存了到期日期,现在我需要在每次有人访问该页面时根据当前日期和时间检查它并根据其是否过期显示消息...但比较失败

我尝试使用 date()date create from formatDateTime::createFromFormat...但检查失败 if (is_a($expirydate, 'DateTime'))

$todaydate=new DateTime();
$todaydate->format('d/m/Y H:i:s');
$expirydate=strtotime(get_field('expirydate',$post->ID));
$expirydate=date('d/m/Y H:i:s', $expirydate);
if (is_a($todaydate, 'DateTime')) {
        echo "today date is datetime";
        if (is_a($expirydate, 'DateTime')) {    
            echo "expiry date check passed";

}}
if ($expirydate >= $todaydate) 
    {
    echo "not expired";
    }   

它回显今天的消息日期是日期时间,但仅此而已...不显示消息 "expiry date check passed" 或 "not expired"...它应该显示所有 3 条消息。

与 strtotime 一起工作是守旧派。最好使用日期时间。 DateTime对象也可以直接比较。

$expirydate=date_create(get_field('expirydate',$post->ID));
//$expirydate=date_create('today 11:19');  //for a test

$todaydate=new DateTime('Now'); //with current Time
//$todaydate=new DateTime('Today'); //with Time 00:00

if($todaydate > $expirydate) {
  echo 'expired';
}