0

私はRubyonRailsを使用して、タイムゾーン変換を含むアプリを開発しています。興味深いことが1つ見つかりました。2013年3月26日です。タイムゾーンをアテネに設定しましたが、すでにDSTになっているようです(Time.zoneはGMT +2アテネを示していますが、フォーマットされた時間は+0300を示しています)。それから私はカイロ時間に変更しました、フォーマットされた時間は+0200に戻ります

ただし、http: //www.timeanddate.com/time/dst/2013.htmlによると、DSTの変更は3月31日に行われる必要があります。まだDSTに含まれていないはずです。

それはRubyのバグですか、それとも私が間違えましたか?

編集:データベースから日時をフォーマットしました。これは4月1日です。そのため、プログラムはその時刻をフォーマットし、現在の時刻ではなく、「その」日時のDSTを表示します。

私の悪い。皆さん、ありがとうございました

4

1 に答える 1

1

あなたが見ているUTCオフフェストは、あなたが期待するものではないと思います。タイムゾーンを見ると、DSTのUTCオフセットは変わらないと思いますが、特定の時刻を処理してUTCオフセットを要求すると、期待どおりの結果が得られます。

> ActiveSupport::TimeZone['Athens'].now.utc_offset
=> 7200

> (ActiveSupport::TimeZone['Athens'].now+1.week).utc_offset
=> 10800
于 2013-03-26T03:52:43.257 に答える