1

(Ruby 1.8.6 ランドで立ち往生)

最近まで、Time を使用して UTC 日付を解析し、ローカル タイムゾーンで出力していました

dt = Time.parse("20111225080000Z")
puts dt.localtime
Sun Dec 25 21:00:00 +1300 2011
puts dt.zone
"New Zealand Daylight Time"

残念ながら、制限1901と2034がついに邪魔になったので、使用しようとしましたDateTime

dt = DateTime.parse(date)

しかし、私はそれに相当するものを見つけることができません.localtime

dt.timezone is of course +00:00
DateTime.now().zone is +13:00

私はそれを使用しましたが、変換される日付が夏時間でない場合、答えが間違っていることに気付きました。Timeクラスがそれを正しく取得し、時刻をlocaltime(特定のタイムゾーンやオフセットではなく) - 真冬 => 標準時間に変換することに注意してください。

dt = Time.parse("20110725080000Z")
puts dt.localtime
Sun Jul 25 21:00:00 +1200 2011
puts dt.zone
"New Zealand Standard Time"

クラスの場合DateTime、正確な(そしておそらく間違ったタイムゾーン)を指定せずに現地時間を尋ねるのと同じものはどこにありますか?

4

0 に答える 0