0

コードの何が問題になっていますか? 月曜日が 22:00 以上で 23:00 以下かどうかをスクリプトで確認します。

$t = date("D:G:i");

if ($t >= "Mon:22:00" && $t <= "Mon:23:00") {
    $status = "up";
    } else {
    $status = "down";
    }
4

2 に答える 2

0

文字列を比較することはできません (日付ではなく、任意の記号の文字列にすぎません)。私たちはコードを書くサルではないので、コピーして貼り付け可能なコードを提供する代わりに、どのように行うべきかを説明します。

  1. 現在時刻から曜日番号、時間、分を 3 つの個別の変数に取得する
  2. 平日の変数と月曜日の値を比較する
  3. 平日が問題ない場合 - 時間を 22 と比較します
  4. [22, 23) を確認する場合、または 23:00 の場合に追加の比較を行う必要がある場合は、ここで分を省略できます。

別のアプローチ - 最も近い月曜日の 22 時間と 23 時間の UNIX タイムスタンプを生成し、次に数値比較を行う

于 2013-10-18T23:15:34.210 に答える
0

2 つの数値ではなく、2 つの文字列を比較しています。まったく理想的ではありません。日付を Unix タイムスタンプに変換し、それらの値を比較したいと考えています。

mktime : http://php.net/manual/en/function.mktime.php

mktimeを使用すると、任意の日付の Unix タイムスタンプを取得できます。

時間: http://php.net/manual/en/function.time.php

timeは、現在の日付と時刻を Unix タイムスタンプとして提供します。

次に、比較して、どちらが大きい/小さいかを確認できます。

于 2013-10-18T23:18:45.957 に答える