PHP 如果日期早于 X 天

k4z*_*nIm 3 php datetime if-statement

我有一些日期问题。如果喜欢,我需要制作--->

如果您的活动少于 1 天,请考虑一下

否则,如果您的活动超过 1 天且少于 3 天,请执行其他操作

否则,如果您的活动超过 3 次,请执行其他操作

我在 PHP 中需要这个。我的实际代码是:

if (strtotime(strtotime($last_log)) < strtotime('-1 day') ) {
    $prom .= "" . json_encode('last_activity') . ": " . json_encode("inactive less than 1 day") . ",";
} else if (strtotime($last_log) > strtotime('-1 day') && strtotime($last_log) < strtotime('-3 day')) {
    $prom .= "" . json_encode('last_activity') . ": " . json_encode("inactive more than 1 day and less than 3 days") . ",";
} else if (strtotime($last_log) > strtotime('-3 day')) {
    $prom .= "" . json_encode('last_activity') . ": " . json_encode("inactive more than 3") . ",";
}
Run Code Online (Sandbox Code Playgroud)

我想我真的不明白日期计算。

ARN*_*ARN 7

Date_diff 在这种情况下要容易得多:

$datetime1 = date_create(); // now
$datetime2 = date_create($last_log);

$interval = date_diff($datetime1, $datetime2);

$days = $interval->format('%d'); // the time between your last login and now in days
Run Code Online (Sandbox Code Playgroud)

见:http : //php.net/manual/en/function.date-diff.php

或者按照你的方式:

if(strtotime($last_log) < strtotime('-1 day')){
    // it's been longer than one day
}
Run Code Online (Sandbox Code Playgroud)