要知道,如果$ recordDate比近期更一小时前,而不是将它与当前日期进行比较,您需要比较我与DateTime相对应的一个我们以前的。
你会想是这样的:
if ($recordDate >= $oneHourAgo) {
// do something
}
如果你使用PHP> = 5.3,您可以使用DateTime::sub
方法,一小时到。减去你的$nowDate
日期时间。
例如,首先获得当前日期:
$oneHourAgo = new DateTime();
var_dump($oneHourAgo);
,然后,。减去1小时:
$oneHourAgo->sub(DateInterval::createFromDateString('1 hour'));
var_dump($oneHourAgo);
而这里的输出我得到:
object(DateTime)[1]
public 'date' => string '2011-02-25 21:03:32' (length=19)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/Paris' (length=12)
object(DateTime)[1]
public 'date' => string '2011-02-25 20:03:32' (length=19)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/Paris' (length=12)
如果使用PHP 5.2,您需要使用DateTime::modify
。
这里也一样,首先,创建当前日期:
$oneHourAgo = new DateTime();
var_dump($oneHourAgo);
,然后,修改它:
$oneHourAgo->modify('-1 hour');
var_dump($oneHourAgo);
当然,这将让你完全一样类型的输出作为第一个解决方案;-)
我想你会想''修改'不管怎么样,否则你必须先创建一个额外的'DateInterval'对象。 – Powerlord 2011-02-25 20:00:31
@R我编辑了我的答案,提供了几个示例,显示:-) – 2011-02-25 20:04:45