5

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

说..

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

现在我想知道如何比较这两个日期以检查 d1 是否至少在 3 天前或在 d2 之前,任何帮助将不胜感激。

4

6 回答 6

8

为什么不使用 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 {
 }
于 2012-10-12T09:08:36.473 回答
4

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

if (filemtime($testfile) < strtotime('-3 days')) {
   // file modification time is more than three days ago
}
于 2012-10-12T09:02:49.313 回答
3

只需使用时间戳检查它:

if (time() - filemtime($testfile) >= 3 * 86400) {
  // ...
}
于 2012-10-12T09:03:52.000 回答
1

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

你也可以使用

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

在比较日期字符串之前将其转换为整数

于 2012-10-12T09:05:36.723 回答
1

好吧,惊讶地发现没有人使用 mktime() 函数,它使工作变得简单

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

mktime 将其转换为 unix 时间戳

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

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

于 2012-10-12T09:43:41.453 回答
0

使用时间戳而不是日期,

$d1 = filemtime($testfile);
$now = time();
if ($now - $d1 > 3600*24*3) {
  ..
}
于 2012-10-12T09:03:37.020 回答