JanGaJan.com

Is fun? JOY!

RailsでLocaleを指定する

パーフェクト Ruby on Railsを、第6章からやってます。

RailsにおけるTimezoneの設定方法です。 config/application.rbで設定します。

Timezoneの日時設定

Timezoneを指定した日時は、Time.zone.noweで取得します。 デフォルトでは、UTCとなります。

rails console
1
2
irb(main):001:0> Time.zone.now
=> Thu, 11 Sep 2014 06:33:19 UTC +00:00

これをJSTに変更するには、以下の修正をします。

config/application.rb
1
2
3
4
5
6
7
module AwesomeEvents
  class Application < Rails::Application
    ...
    config.time_zone = 'Tokyo'
    ...
  end
end
rails console
1
2
irb(main):003:0* Time.zone.now
=> Thu, 11 Sep 2014 15:33:47 JST +09:00

time_zoneに設定できる値

config/application.rbconfig.time_zoneに設定できる情報を確認できます。

1
2
3
4
5
6
# time_zoneに設定できる値の一覧を表示
bundle exec rake time:zones:all

# 現在有効なtime_zoneの値を表示
# 設定していない場合、システムのタイムゾーンの値を表示
bundle exec rake time:zones:local

Comments