过去一小时的活动

时间:2009-09-22 03:39:06

标签: php date time

如果用户在过去一小时内有活动,我正在努力解决问题。以下是我的代码,但总是返回yes,无论如何:

$houraway = (int)mktime() + (60 * 60);
$now = mktime();

while($user = mysql_fetch_array($qusers))   {
    echo $user['Name']." - ";
    $datetime = explode(" ", $user['Custom6']);
    $date = $datetime[0];
    $date = explode("-", $date);
    $time = $datetime[1];
    $time = explode(":", $time);
    $hr = $time[0];
    $min = $time[1];
    $sec = $time[2];
    $y = $date[0];
    $m = $date[1];
    $d = $date[2];
    $lastloginmk = (int)mktime($hr, $min, $sec, $m, $d, $y);
    echo " - ".$lastloginmk;
    if($lastloginmk <= $houraway) { echo "yes"; } else { echo "no"; }
    echo "<br />";
}

上次活动时间存储在数据库中,如下所示:

2009-09-22 13:32:28

提前致谢!

赖安

2 个答案:

答案 0 :(得分:1)

该行

$houraway = (int)mktime() + (60 * 60);

以一小时展望未来。最后一次登录将始终早于未来,因为最后一次登录必须是过去的。

我认为您希望上次登录大于一小时之前。更改$houraway并更改上次比较,您应该好好去。

答案 1 :(得分:1)

我认为您想要的代码是:

$hourago = mktime() - (60 * 60);

while($user = mysql_fetch_array($qusers))   {
    echo $user['Name']." - ";
    $lastloginmk = strtotime($user['Custom6']);
    echo " - ".$lastloginmk;
    if($lastloginmk <= $hourago) { echo "yes"; } else { echo "no"; }
    echo "<br />";
}

希望这有帮助。