查找日期是否超过30天

时间:2011-08-20 08:47:02

标签: php string datetime date time

日期字符串如下所示

2011-08-19 17:14:40

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

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

5 个答案:

答案 0 :(得分:122)

尝试使用以下内容:

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

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

SELECT ... WHERE `datetime` + INTERVAL 30 DAY < NOW()

答案 1 :(得分:22)

如果您使用的是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.';
}

答案 2 :(得分:6)

您可以按如下方式使用碳

    void MainWindow::on_pushButton_Add_Player_clicked()
{
     ui->tableWidget_Players->insertRow(ui->tableWidget_Players->rowCount());
     ui->tableWidget_Defensive->insertRow(ui->tableWidget_Defensive->rowCount());
     .
     . [10 tableWidgets in Total]
     .
     ui->tableWidgetAll->insertRow(ui->tableWidget_Players->rowCount());
}

答案 3 :(得分:1)

strtotime('2011-08-19 17:14:40') + 30 * 24 * 60 * 60 < time();

答案 4 :(得分:0)

使用meringue库,至少可以通过两种方式完成。

第一个看起来如下:

127.0.1.1 dev.musicng

语义如下:首先,从ISO8601字符串中解析一个日期,然后创建一个比该日期晚30天的将来日期,最后将其与当前日期时间(即(new Future( new DateTimeParsedFromISO8601String('2011-08-19 17:14:40'), new NDays(30) )) ->earlierThan( new Now() ); )进行比较。

第二种方法是从日期时间范围创建一个间隔并计算其组成的天数。看起来像这样:

now

这两种方法都非常直观,不会让您记住特殊的php datetime表达式。相反,每个实现都是自动完成的。您只需要构建适合您需求的正确对象即可。