このような日付を解析できます
1.9.3p194> date = '2012-1-1'
=> "2012-1-1"
1.9.3p194> Time.parse(date)
=> 2012-01-01 00:00:00 +1300
それは私のローカル タイムゾーン (ウェリントン、+13) を使用しています。同じ方法で時間文字列を解析することもできます
1.9.3p194> time = '2012-08-14 14:48:47 +1000'
=> "2012-08-14 14:48:47 +1000"
1.9.3p194> Time.parse(time)
=> 2012-08-14 16:48:47 +1200
少し間違っているように見えるかもしれませんが、それは私のローカル タイムゾーンを再び使用しているためです。正確ですが、現在は私のタイムゾーンです。その後、必要なタイムゾーンに変換できます。
1.9.3p194> Time.parse(time).in_time_zone('Moscow')
=> Tue, 14 Aug 2012 08:48:47 MSK +04:00
1.9.3p194> Time.parse(time).in_time_zone('Brisbane')
=> Tue, 14 Aug 2012 14:48:47 EST +10:00
これは、datetime
文字列に対しても同じように機能します。
特定のタイムゾーンを使用する場合は、次のようにします。
1.9.3p194> Time.find_zone('Tokyo').parse('2012-08-14 14:48:47 +0500')
=> Tue, 14 Aug 2012 18:48:47 JST +09:00