0

申し訳ありませんが、これはばかげた質問に対する非常に簡単な答えになるはずですが、私は脳のフリーズに苦しんでいます!

現在の時刻が開始時刻と終了時刻の間にある場合に true を返す関数が必要なため、アプリは実行されません。効果的に「静かな時間」。

ユーザーは開始時刻と終了時刻を 24 時間制で設定できます。

$start_time = "0300";
$end_time = "0900";

以下を使用すると、ほとんど機能します。

function isQuietTime($start,$end)
   {
       if((date("Hm") >= $start) && (date("Hm") <= $end)) {return TRUE;} else {return FALSE;}
   }

しかし、開始時刻が 2300 で、終了時刻が 0600 で、現在時刻が 0300 の場合はどうでしょうか。上記の関数は false を返します。この問題は、開始時刻が当日の終わりより前で、終了時刻が翌日の場合に発生します。これを機能させるにはどうすればよいですか?

ありがとう!

4

2 に答える 2

4
function fixedIsQuietTime($start, $end)
{
    if ($start < $end)
        return isQuietTime($start, $end);
    else
        return ! isQuietTime($end, $start);
}
于 2013-08-13T22:09:13.063 に答える