2017-10-06 6 views
0

夏時間が有効であることを示す次のコードがあり、正しい日時と使用されているタイムゾーンのバージョンが返されます。ただし、「昼間」は、「夜間」が表示される必要がある場合、午後10時ではなく現地時間午後11時まで維持されます。私はコーディングがうまくいっていないし、自分が望むものを得るための最善の方法を見つけられない。誰でも助けてくれますか?夏時間を考慮しないPHPコード

<?php 
date_default_timezone_set('Australia/Adelaide'); 

$hour = idate('H'); 

if (($hour >= 6 && $hour <= 22)) { 
    // after 6am and before 10pm 
    $daytime = true; 

    if ($daytime === true) { 
     print "Daytime"; 
    } 
} 
else { 
    // 10pm to 6am the next day 
    $daytime = false; 

    if ($daytime === false) { 
     print "Night time"; 
    } 
} 
?><br /> 

<?php date_default_timezone_set('Australia/Adelaide'); 
echo date("I, l, F jS, Y, h:i:s",time()); 
?><br /><br /> 

<?php echo timezone_version_get(); ?> 

答えて

0
$hour = date("H:i"); 

if (($hour >= date("06:01") && $hour >= date("22:00")) { 

昼= 06の範囲場合にも、を比較する必要があります - 10と夜間= 10 - 彼らは、唯一の相違点を同じ時間を保持しているので、06

があります彼らのタイミング。 これはDayTime = 06:01〜22:00以外はNightTimeとなります

+0

ありがとうございますが、Hは24時間を意味しませんので、午後10時は22でなければなりません? 10は10時ではなく、10時ではないでしょうか。 – user8722983

+0

私はあなたの説明を混乱させていると思います。あなたの昼間の範囲と夜間の範囲は何ですか? @ user8722983 – Kasnady

+0

昼間は午前6時から午後10時の間、つまり2200時間です。夜間は午後10時から午前6時までです。 – user8722983

関連する問題