我知道有很多关于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
}
Run Code Online (Sandbox Code Playgroud)
如何更好地比较这两个日期以查看是否已超过2小时?
这段代码对我来说非常有效,并使用您的变量进行了更新:
$interval = (strtotime(date("Y-m-d H:i:s")) - strtotime($lastcache) ) / 60;
Run Code Online (Sandbox Code Playgroud)
这将返回时间间隔,以分钟为单位。添加数学以格式化为所需的任何格式。
假设您将间隔结果保持为分钟,则只需执行以下操作:
if($interval >= 120) {...}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2442 次 |
| 最近记录: |