如何检查日期是否是今天前三天

时间:2012-10-12 09:01:01

标签: php date datetime

嘿,我想知道是否有任何脚本(php)可以检查今天前三天的指定日期。

说..

$d1 = date("Y-m-d", filemtime($testfile));
$d2 = date("Y-m-d");

现在我想知道如何比较这两个日期来检查d1是在3天之前还是在d2之前 任何帮助都会很高兴。

6 个答案:

答案 0 :(得分:7)

为什么不使用DateTime对象。

 $d1 = new DateTime(date('Y-m-d',filemtime($testfile));
 $d2 = new DateTime(date('Y-m-d'));
 $interval = $d1->diff($d2);
 $diff = $interval->format('%a');
 if($diff>3){
 }
 else {
 }

答案 1 :(得分:4)

假设您希望测试文件是否在三天前修改过:

if (filemtime($testfile) < strtotime('-3 days')) {
   // file modification time is more than three days ago
}

答案 2 :(得分:4)

只需使用时间戳检查:

if (time() - filemtime($testfile) >= 3 * 86400) {
  // ...
}

答案 3 :(得分:1)

date("Y-m-d", strtotime("-3 day"));用于特定日期

您也可以使用

strtotime(date("Y-m-d", strtotime("-3 day")));

在比较日期字符串

之前将其转换为整数

答案 4 :(得分:1)

好吧,惊呆了,看不到有人在使用mktime()函数, 它使工作变得简单

例如您输入的日期是:10/10/2012

mktime将其转换为unix时间戳

$check_date=mktime(0,0,0,10,**10+3**,2012);

我们可以执行任何操作天气+, - ,*,/

答案 5 :(得分:0)

使用时间戳代替日期,

$d1 = filemtime($testfile);
$now = time();
if ($now - $d1 > 3600*24*3) {
  ..
}