0
Time.zone = 'Asia/Kolkata'
Time.zone 
=> (GMT+05:30) Asia/Kolkata

Time.zoneが正しく設定されています。

Time.zone.parse('0000-01-01 03:00:00 UTC').strftime('%l:%M %p')
=> " 8:53 AM"

適用されているオフセットが正しくありません(+05:33対+05:30)

なぜこれが起こるのですか?もっと良い方法はありますか?

4

1 に答える 1

1

1941年以前のカルカッタのタイムゾーンは、UTCより53分進んだ5時間だったようです。

0年ではなく、それより1年後の年(たとえば2000年)を使用すると、期待どおりの結果が得られるはずです。

夏時間のため、UTC時刻を現地時間に実際に変換することはできません。8:00UTCは夏と冬の異なる現地時間に変換できます。自動変換で正しい結果を得るには、時間だけでなく完全な日付が必要です。

于 2013-01-12T12:23:22.807 に答える