2012-10-12 167 views
4

嘿,我想知道是否有任何腳本(PHP),可以檢查是否在今天三天前的指定日期。如何檢查日期是否在今天前三天

說..

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

現在我想知道怎麼這兩個日期比較,以檢查是否D1是ATLEAST3天前或D2 之前的任何幫助,將欣然讚賞。

+0

if(strtotime($ d1) - (60 * 60 * 24)<= time() - (60 * 60 * 24)|| strtotime($ d1) Sammaye

+0

我敢打賭,這已被問及已回答。請先使用搜索。 – hakre

回答

3

與時間戳只是檢查:

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

假設你要測試的文件是否超過三天之前修改:

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

我如何調整它來檢查它不超過最後修改的三天。 – jcobhams

+0

@VyrenMedia我不確定我的理解......「不超過三天」翻譯成「至少三天」......所以我的回答只有一秒鐘的時間?如果你用'<='進行比較,你應該擁有你想要的東西。 –

0

使用時間戳,而不是日期,

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

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

你也可以使用

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

將其轉換爲整數比較日期字符串

6

爲什麼不使用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 { 
} 
+0

謝謝...有點複雜的我..我會研究它tho .. – jcobhams

2

好了,看的目瞪口呆無人使用mktime()函數, 它使工作簡單

例如您輸入的日期是:2012年10月10日

mktime將其轉換到UNIX時間戳

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

我們可以執行任何操作天氣+, - ,*,/

+0

指這個鏈接http://www.w3schools.com/php/func_date_mktime.asp – Manoj

+0

我不明白這是如何試圖解決我的問題..請解釋你的代碼,以及我如何解決我的問題 – jcobhams

+0

mktime()。函數將給定的時間轉換爲unix時間戳。在我的例子中,我將+ 3days添加到當前日子 – Manoj

相關問題