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

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


我试过date(),date create from format然后DateTime::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";

    }   

它回应味精今天的日期是日期时间,但仅此而已...不显示味精“过期日期检查通过”或“未过期”...它显示所有 3 条消息。


汪汪一只猫
浏览 178回答 1
1回答

胡子哥哥

与 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:00if($todaydate > $expirydate) {  echo 'expired';}
打开App,查看更多内容
随时随地看视频慕课网APP