ActiveSupport::TimeZone
オブジェクトに「今」という概念があるとは思いません。TimeZoneは、utc_offsetを使用して、必要な秒数で初期化できます::create
。
ActiveSupport::TimeZone.create("Pacific Time (US & Canada)", -(60 * 60 * 7))
# => (GMT-07:00) Pacific Time (US & Canada)
夏時間に関連する現在の概念は、ActiveSupport::TimeWithZone
オブジェクトを処理するときに、より理にかなっています。application.rbでタイムゾーンを設定して、Railsアプリのタイムゾーンを認識させる場合:
config.time_zone = 'Pacific Time (US & Canada)'
...を使用するTime.zone.now
と、結果には夏時間GMT-07:00が考慮されます。したがって、この投稿の時点では:
Time.zone.now
=> Fri, 12 Oct 2012 07:03:51 PDT -07:00
Time.zone.now.class
=> ActiveSupport::TimeWithZone