0

いずれかの日の午後5時より前の場合にのみ実行されるコードをループに入れたい。

これを行うコードは何ですか?

IF (current_time < 5:00pm) {
   // Do stuff
}
4

4 に答える 4

6

このソリューションは、優れたPHP5DateTimeクラスを使用し、不格好な古いstrtotime()関数を回避します。

$hoursNow = new DateTime()->format('H');
if($hoursNow < 17) {
    ....
}
于 2012-07-29T21:43:47.490 に答える
4

仕事を成し遂げる単純なもの:

if (date('H') < 17)
{
    // DO SOMETHING
}

この日付はサーバーからのものであることを忘れないでください。したがって、クライアントが別のタイムゾーンにある場合、それは必要に応じて機能しない可能性があります。これの良いところは、ユーザーがサイトをだまして何かに騙すために自分のコンピューターの日付を変更できないことです。

また、javascript(値はユーザーのコンピューターから取得されます)を使用してこれを実行する場合は、次のようにします。

var today = new Date();
if (today.getHours() < 17)
{
    // DO SOMETHING
}
于 2012-07-30T00:43:46.833 に答える
3
if(time() < strtotime('today 05:00 pm')) {
   // Do stuff
}
于 2012-07-29T21:38:37.917 に答える
0

要するに...

$t = time(); # or any other timestamp
if (date('H', $t) < 17) {
  // Do stuff
  }

いつでも使えます

注:タイムゾーンが正しいことを確認してください(php configを確認するか、date関数を呼び出す前にdate_default_timezone_set関数を使用してください)

于 2012-07-29T21:48:45.277 に答える