私は次のコードを持っています:
var_dump(new \DateTime('now', new DateTimeZone('GMT')));
次の出力が得られますが、これは1時間遅れています。
object(DateTime)#894 (3) { ["date"]=> string(19) "2012-09-13 13:54:26" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "UTC" }
ただし、コードを次のように変更した場合:
var_dump(new \DateTime('now', new DateTimeZone(date_default_timezone_get())));
次に、次の正しい出力を取得します。
object(DateTime)#894 (3) { ["date"]=> string(19) "2012-09-13 14:54:26" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London" }
私はDerickRethansのブログを読んでいましたが、タイムゾーン3では夏時間を考慮に入れる必要がありますが、最初のコードスニペットで実際の1時間前に取得する理由を誰かが説明できますか?!