变量中的时间,减少延迟

时间:2012-05-25 21:20:50

标签: php

我有一个time()值保存在这样的变量中:

$latest_attempt = 1337980678;

我试图计算一些延迟。

$remaining_delay = time() - $latest_attempt - $delay;

然而,当我更新浏览器时$remaining_delay的结果正在增加,而不是那种方式。

“您必须在下次登录尝试前等待95秒”

如果我稍后更新“您必须在下次登录尝试前等待102秒”

它正在做与之相反的事情,而不是减少而不是增加。我做错了什么?我相信我需要用latest_attempt变量做一些事情,但我找不到任何PHP手册。

3 个答案:

答案 0 :(得分:4)

我会说,像这样:

$remaining_delay = $latest_attempt + $delay - time();

答案 1 :(得分:0)

$time_since_last = time() - $last_attempt;

if ($time_since_last <= $delay) {
    $remaining = $delay - $time_since_last;
} else {
   ... good to go ... delay's expired
}

答案 2 :(得分:0)

剩余延迟是阻塞到期时的时间差($last_attempt + $delay,因为$ last_attempt on,用户被阻止了$ delay)和当前时间({{1} }) - 因此正确的公式是:

time()