1

PHPに保存されている 2 つの日付date("w")(0 から 6 までの曜日) を取得しました。現在の日 (再び w) がこれら 2 つの間にあるかどうかを知る必要があります。日曜日の部分を除いて、かなり簡単です。私はただのようなことはできません

$now = date("w");
if ($first_day < $now < $sec_day){
    //is in between
}

$first_day = 5$now = 6およびの場合$sec_day = 0、これはその間にある場合でも失敗します。これにどのようにアプローチすればよいですか?

4

2 に答える 2

1

最初の日が最後の日よりも大きい場合にのみ、日を変更する必要があります。

//first correct days
if ($first_day > $sec_day){
    if ($now > $first_day){
        $sec_day+=7;
    }
    if ($now < $first_day)
        $first_day-=7;
    }
}
if ($first_day < $now < $sec_day){
    //is in between
}
于 2012-11-22T12:42:39.473 に答える
0

それが期待される動作です。別の週について話し始めていない限り、土曜日は金曜日と日曜日の間にありません。その場合、date("W")(週番号) を考慮する必要があります。簡単な解決策はdate("z");、年間通算日を意味するものを使用することです。大きい方の日付を確認せずに、1 日が 2 日の間にあるかどうかを判断することはできません。

于 2012-11-22T09:15:58.817 に答える