比较从SQL数据库中提取的PHP中的两个日期

时间:2012-07-31 15:15:04

标签: php sql date

我知道Stack Overflow上有很多关于如何在PHP中比较两个日期的例子,但我无法让我的代码正常工作。

目前我有两个日期是缓存日期和命中日期。我试图设置它,如果缓存日期超过2小时前的命中日期,它将重新缓存新信息。我目前以这种格式存储在MySQL中的日期:$lastcache = date("m.d.y G:i");

我目前的代码只有大约一半的时间(大部分时间是由于某些原因),这是:

$lastcache = $row['lastcache'];
$expiredate = date("m.d.y G:i", strtotime("-120 minutes"));

if( $expiredate > $lastcache){
    cache($input);      
}else{
    //do cool stuff
}

如何才能更好地比较这两个日期,看看是否超过2小时?

2 个答案:

答案 0 :(得分:4)

此代码适用于我,使用您的变量进行更新:

$interval = (strtotime(date("Y-m-d H:i:s")) - strtotime($lastcache) ) / 60;

这将返回时间间隔,以分钟为单位。添加数学以格式化为您想要的任何格式。

假设您将间隔结果保留为几分钟,您只需执行以下操作:

if($interval >= 120) {...}

答案 1 :(得分:-1)

请考虑使用PHP的日期/时间对象。可以找到文档here