我想知道如何检查时间是否超过特定的分钟数,如果时间超过两小时......我尝试了以下但是它似乎无法正常工作..
$postTime
处于unix时间。
if(strtotime("+20 minutes") > strtotime($postTime))
{
echo 'REFRESH EVERY 20 minutes';
} else if(strtotime("+2 hours")> strtotime($postTime))
{
echo 'refresh every 2 hours';
}
是否有更有效的方法来检查它是否超过特定的分钟/小时数或使用strtotime是最佳方式?
编辑:
If $postTime = 11:30
If(time is now 11:50 compared to $postTime){
good
} else if(time is now 1:30 compared to $postTime){
good
} else {
do nothing;
}
否则,如果时间超过2小时,则与postTime相比
答案 0 :(得分:0)
除非$postTime
的时间超过20分钟,否则您的第一个语句将始终匹配,您不会检查$postTime
是否在20分钟前。
strtotime()
不是最有效的方法,最有效的方法就是对整数使用算术。 php的时间函数(包括time和strtotime)返回一个unix时间戳整数。
最简单的方法:
// If $postTime is a unix timestamp integer
if ( $postTime < (time()-(60*20)) ) {
...
}
// The above statement is equivalent to:
if ( $postTime < strtotime("-20 minutes") ) {
...
}
// If $postTime is a string
if ( strtotime($postTime) < (time()-(60*20)) ) {
}