2012-02-24 25 views
1

我已經在常規方式格式化這樣的時間戳:如何檢測,如果時間戳記是在一定時間以前

2012-02-23 20時34分55秒

我需要檢測以下事情。

if(Timestamp >= 1 month ago) { 

} 

if(Timestamp >= 5 minutes ago) { 

} 

如何從PHP中的時間戳變量中檢測到這種類型的東西?

>=我的意思是如果時間戳已經至少或超過5分鐘前​​。

回答

5
if (strtotime($timestamp) <= strtotime('-1 month')) 
3

首先,從你的時間線和一個創建一個DateTime對象現在

$dt = new DateTime($timestamp); 
$now = new DateTime; 

然後,創建一些DateInterval對象

$oneMonth = new DateInterval('P1M'); 
$fiveMinutes = new DateInterval('PT5M'); 

然後,做你的比較

if ($dt >= $now->sub($oneMonth)) { 
} 

if ($dt >= $now->sub($fiveMinutes)) { 
} 
+0

我愛th e DateTime類。 +1 – FtDRbwLXw6 2012-02-24 02:59:11

+0

我收到錯誤:找不到類'DateInterval' – Talon 2012-02-27 20:35:59

+0

@Talon您需要PHP 5.3.0或更新版本才能使用DateTime和DateInterval類 – Phil 2012-02-27 22:43:44

相關問題