いずれかの日の午後5時より前の場合にのみ実行されるコードをループに入れたい。
これを行うコードは何ですか?
IF (current_time < 5:00pm) {
// Do stuff
}
このソリューションは、優れたPHP5DateTime
クラスを使用し、不格好な古いstrtotime()
関数を回避します。
$hoursNow = new DateTime()->format('H');
if($hoursNow < 17) {
....
}
仕事を成し遂げる単純なもの:
if (date('H') < 17)
{
// DO SOMETHING
}
この日付はサーバーからのものであることを忘れないでください。したがって、クライアントが別のタイムゾーンにある場合、それは必要に応じて機能しない可能性があります。これの良いところは、ユーザーがサイトをだまして何かに騙すために自分のコンピューターの日付を変更できないことです。
また、javascript(値はユーザーのコンピューターから取得されます)を使用してこれを実行する場合は、次のようにします。
var today = new Date();
if (today.getHours() < 17)
{
// DO SOMETHING
}
if(time() < strtotime('today 05:00 pm')) {
// Do stuff
}
要するに...
$t = time(); # or any other timestamp
if (date('H', $t) < 17) {
// Do stuff
}
いつでも使えます
注:タイムゾーンが正しいことを確認してください(php configを確認するか、date関数を呼び出す前にdate_default_timezone_set関数を使用してください)