Railsに設定しているtimezoneでDateTime.parseしたい
日本向けアプリを作る場合、Railsのconfig/application.rbのconfig.timezoneは’Asia/Tokyo’にするわけですが、DateTime.parseの結果にはtimezoneが反映されないという問題。 結論として、DateTime.parseじゃなくてTime.to_datetimeを使えという話。 rails cで叩いてみるとこんな感じ。
# Rails 3.2.6
irb(main):001:0> DateTime.parse('2012-07-31')
=> Tue, 31 Jul 2012 00:00:00 +0000
irb(main):002:0> Time.parse('2012-07-31').to_datetime
=> Tue, 31 Jul 2012 00:00:00 +0900