素のRubyの場合、デフォルトのタイムゾーンは

以下の2つによって決まります。

  • システムのタイムゾーン
  • 環境変数 ENV['TZ'] の値

有効なTimezone一覧

http://en.wikipedia.org/wiki/List_of_tz_database_time_zones

RailsのTime zone設定

ここでは、TokyoもAsia/TokyoもどっちもOK

config.time_zone = 'Tokyo'

[1] pry(main)> Time.zone => (GMT+09:00) Tokyo

config.time_zone = 'Asia/Tokyo'

[1] pry(main)> Time.zone => (GMT+09:00) Asia/Tokyo

有効なTimezone一覧

http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.htmlのMAPPINGを参照

TimeWithZoneを使おう!

  • created_at, 1.day.agoなどもTimeWithZoneである。
  • instance生成がTimeWithZoneからではない(以下の例を参照)
# http://api.rubyonrails.org/classes/ActiveSupport/TimeWithZone.html
Time.zone = 'Eastern Time (US & Canada)'        # => 'Eastern Time (US & Canada)'
Time.zone.local(2007, 2, 10, 15, 30, 45)        # => Sat, 10 Feb 2007 15:30:45 EST -05:00
Time.zone.parse('2007-02-10 15:30:45')          # => Sat, 10 Feb 2007 15:30:45 EST -05:00
Time.zone.at(1170361845)                        # => Sat, 10 Feb 2007 15:30:45 EST -05:00
Time.zone.now                                   # => Sun, 18 May 2008 13:07:55 EDT -04:00
Time.utc(2007, 2, 10, 20, 30, 45).in_time_zone  # => Sat, 10 Feb 2007 15:30:45 EST -05:00

References

results matching ""

    No results matching ""