2012-02-24 61 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

相关问题