日期时间不起作用:查看日期是否超过30天

时间:2015-12-23 22:40:24

标签: php datetime

由于某种原因我不完全清楚,这是行不通的。如果发布文章的日期超过30天,数据库中fetchData["article_date"]2015-09-08 15:18:27

,我想阻止某些事情
 $new = new DateTime(date('Y-m-d H:i:s'));
 $old = new DateTime($fetchData["article_date"]);
 if(strtotime($old->modify('+30 days') < $new)) { 

    // Older than 30 days

  }

非常感谢帮助。

3 个答案:

答案 0 :(得分:3)

只是一个例子

$new = new DateTime(date('Y-m-d H:i:s'));
$old = new DateTime('2015-12-22 15:18:27');
$interval = $old->diff($new);

if($interval->format('%a') > 30) {

}

答案 1 :(得分:1)

要知道发布文章的日期是否超过30天,您可以执行以下操作:

$new = new DateTime(date('Y-m-d H:i:s'));
$old = new DateTime($fetchData["article_date"]);
if($old->modify('+30 days')->getTimestamp() < $new->getTimestamp()) { 
    // older than 30 days
}

答案 2 :(得分:1)

您的if条件错误

modify函数生成一个对象,您可以直接将它与作为对象的$new进行比较。

$new = new DateTime(date('Y-m-d H:i:s'));
$old = new DateTime($fetchData["article_date"]);


 if($old->modify('+30 days') < $new) { 

    echo "hello";

  }