大于或小于两个的PHP运算符在相同数字上触发

时间:2019-02-18 01:06:19

标签: php wordpress

尝试将简单的X分钟计时器添加到订单状态。我通过设置时区,将当前UNIX时间加载到变量中,然后为触发时间添加X分钟来实现。每次页面加载时,它都会检查存储的“触发”时间并将其与当前时间进行比较。如果当前时间戳大于存储的时间戳,请继续执行下一步。无论“现在”是否小于“超时”,都将进行下一步。

$now = (int) time(); //1550450927
$overtime = strtotime(+5 minutes); //1550451222

//also tried datetime format
$now = new DateTime('now');
$overtime = $now->modify('+10 Minutes');

if ( $now >= $overtime ) { //if "overtime" has passed

 //stuff happens with no regard for reality
 //driving me absolutely bonkers

}

检查当前时间与请求时间的数据库输入,数字是否正确。它们的存储与UNIX时间戳示例完全相同。

1 个答案:

答案 0 :(得分:3)

调用modify()会同时更新$now值和$overtime值。

此外,您可能对此感兴趣How do I deep copy a DateTime object?

尝试:

$now = (int) time(); //1550450927
$overtime = strtotime("+5 minutes"); //1550451222

//also tried datetime format
$now = new DateTime('now');
$overtime = (new DateTime("now"))->modify("+5 minutes");
print_r($now);
print_r($overtime);
if ( $now >= $overtime ) { //if "overtime" has passed
echo "hit";
 //stuff happens with no regard for reality
 //driving me absolutely bonkers

}