1

我知道 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 小时?

4

2 回答 2

5

这段代码非常适合我,用你的变量更新:

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

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

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

if($interval >= 120) {...}
于 2012-07-31T15:20:11.410 回答
-1

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

于 2012-07-31T15:41:00.273 回答