2017-03-01 7 views
1

が私のコードです:これはPHPのdate()バグですか?ここで

<?php 

echo date("Y-m-d H:i:s",1477785600) ; 
echo "<br />"; 
echo date("Y-m-d H:i:s",1477789200) ; 

?> 

と結果

2016-10-30 02:00:00 
2016-10-30 02:00:00 

はなぜ日付()異なるタイムスタンプと同じ結果を得るんですか?
これはPHPバグですか?

私の環境設定は次のとおりです。正しい出力です

  • date.timezoneで=ヨーロッパ/ベルリン
  • PHPバージョン5.6.30

  • +9

    であることをあなたが冬時間に夏時間から変更日? – Barmar

    +0

    コードを実行すると、次のようになります。2016-10-29 17:00:00 2016-10-29 18:00:00私はこれがBarmarのような時間の変化に関係していると推測しています。私はカナダ/モントリオールのタイムゾーンにいます。この出力は、時刻が午前3時に午前2時にリセットされた場合、実際には正しいかもしれません。 – TopCheese

    +0

    @Barmarあなたは正しいです! –

    答えて

    6

    。西ヨーロッパでは、2016年10月30日、それが原因夏時間に二回2時だった:

    1. は、それは最初の2時00分CEST(0200)でした。

    2. 3時間後、時計は1時間リセットされ、2:00 CET(+0100)でした。

    はここで少し明確だtest case

    date_default_timezone_set('Europe/Berlin'); 
    echo date("r",1477785600) . "\n"; 
    echo date("r",1477789200) ; 
    
    Sun, 30 Oct 2016 02:00:00 +0200 
    Sun, 30 Oct 2016 02:00:00 +0100 
    
    関連する問題