查找日期是否超过30天

Ell*_*lla 59 php string time datetime date

日期字符串如下所示

2011-08-19 17:14:40

(年 - 月 - 小时:分:秒)

如何查看日期是否超过当前日期超过30天?

Ria*_*iaD 129

尝试使用这样的东西:

 if(strtotime('2011-08-19 17:14:40') < strtotime('-30 days')) {
     // this is true
 }
Run Code Online (Sandbox Code Playgroud)

此外,该字符串看起来像是作为datetime/timestamp字段存储在SQL中.您可以使用以下命令直接从旧日期中选择数据库中的所有条目:

SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()
Run Code Online (Sandbox Code Playgroud)

  • 它的帮助,+1为它:) (2认同)
  • 请注意,问题和答案均不使用“月份”一词(描述 pf 格式除外) (2认同)

Col*_*wll 27

如果您使用的是PHP 5.3或更高版本,则可以:

$someDate = new \DateTime('2011-08-19 17:14:40');
$now = new \DateTime();

if($someDate->diff($now)->days > 30) {
   echo 'The date was more than 30 days ago.';
}
Run Code Online (Sandbox Code Playgroud)

  • 我比公认的答案更喜欢这个答案。`diff` 方法看起来非常优雅。 (2认同)

Shr*_*tre 6

您可以按如下方式使用碳

if (30 - ((new \Carbon\Carbon($given_date, 'UTC'))->diffInDays()) < 0) {
    echo "The date is older than 30 days";
}
Run Code Online (Sandbox Code Playgroud)