

Ruby on Railsでブログを作っています。

投稿日時を表示させているのですが、  
世界時刻だったので日本時間に変更しようと

`config`の`application.rb`の設定を変更しました。  
しかし変更されず調べてみると、どうやら`application.rb`は読み込まれていないことが分かりました。  
何が原因でしょうか。


CC BY-SA 3.0
2016-12-19T16:09:43.257
31248
2016-12-21T07:42:16.303
2016-12-20T00:42:03.337
5519
19960
question
ruby-on-rails
タイムゾーンの設定変更が反映されない


以下を確認してみてください。

  * `Time.now`の出力
  * `Time.zone.now`の出力
  * アプリケーションを再起動したか

console(`bundle exec rails console`)での確認

[code]

    4.2.7.1@2.3.0 (main)> Time.zone
    => #<ActiveSupport::TimeZone:0x007febd00fa528 @name="Tokyo", @utc_offset=nil, @tzinfo=#<TZInfo::TimezoneProxy: Asia/Tokyo>>
    
[/code]

設定が正しくない場合は、システム時刻（サーバの時刻）となります。  
herokuというPaaSではシステム時刻がUTCなのですが、その場合以下のようになります。

[code]

    4.2.7.1@2.3.1 (main)> Time.now
    => 2016-12-21 07:38:52 +0000
    4.2.7.1@2.3.1 (main)> Time.zone.now
    => Wed, 21 Dec 2016 16:39:00 JST +09:00
    4.2.7.1@2.3.1 (main)>
    
[/code]

正しく設定されているファイルの内容を参考に記載します。

[code]

    module MyService
      class Application < Rails::Application
        # Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
        # config.time_zone = 'Central Time (US & Canada)'
        config.time_zone = 'Tokyo'    
    
        ・・・
    end
    
[/code]

時刻関係の記事としては以下が参考になります。

<http://qiita.com/jnchito/items/cae89ee43c30f5d6fa2c>


CC BY-SA 3.0
2016-12-21T07:42:16.303
31290
2016-12-21T07:42:16.303
512
31248
answer