2017-03-23 8 views
2

日付が夏時間にあるかどうかを知りたいと思います。PHP夏時間は常に偽

だから私はこれを行う:英国のスイッチは2017年3月26日であるように私には、二つの入力のために異なる結果を持つことを期待

echo date('I', strtotime('2017-03-23')); // outputs 0 
echo date('I', strtotime('2017-03-29')); // outputs 0 

を、しかし、出力は両方のケースでは0です。

私がチェックしているとタイムゾーンが正しいになります

echo date_default_timezone_get(); // outputs UTC 
+2

'date_default_timezone_set(" Europe/London ")'でチェックする、[3v4l.orgで動作する](https://3v4l.org/JL2lL) – Pete

+1

私はタイムゾーンがUTCであると推測しています。 。 –

+2

関連:http://stackoverflow.com/questions/5495803/does-utc-observe-daylight-saving-time –

答えて

3

あなたがthis answerで見ることができるように、UTCは夏時間を持っていない、あなたがEurope/Londonに、あなたのタイムゾーンを設定する必要があります。

date_default_timezone_set('Europe/London'); 
echo date('I', strtotime('2017-03-23')); // echoes 0 
echo date('I', strtotime('2017-03-29')); // echoes 1 

date_default_timezone_set('UTC'); 
echo date('I', strtotime('2017-03-23')); // echoes 0 
echo date('I', strtotime('2017-03-29')); // echoes 0 
+0

私の問題を解決しました。ありがとう – Miklos