2009-08-11 11 views

答えて

6

設定config.time_zoneは、Railsアプリケーションのデフォルトのタイムゾーンを変更します。これは、すべての時間がユーザーに表示されるタイムゾーンです。また、属性を設定するときに仮定するタイムゾーンです。

しかし、Railsは常にUTCで時刻をデータベースに保存します。翻訳はその場で行われますので、ほとんどの場合、心配する必要はありません。

このタイムゾーンをほとんどのユーザーが使用するゾーンに変更するのが一般的です。このレーキタスクを実行すると、選択できるすべてのタイムゾーンが表示されます。

rake time:zones:all 

彼らがしているどの時間帯を設定し、各ユーザーに許可するリクエストごとに現在のタイムゾーンを変更することも非常に簡単です。ここでは、フィルタの例前に、アプリケーションのコントローラに追加するかもしれないのです。

before_filter :set_user_time_zone 

private 

def set_user_time_zone 
    Time.zone = current_user.time_zone if logged_in? 
end 

詳細については、this Railscasts episodeを参照してください。

6

ライアンの優れた答えに1点を追加するだけです。

:あなたは東部標準時に設定したい場合は、それが利用可能なオプションのリストを取得するには、以下の時間帯のいずれかを

config.time_zone = 'Eastern Time (US & Canada)' 

利用になり

config.time_zone = 'EST' 

ではないでしょう

rake time:zones:all 
rake time:zones:local 
rake time:zones:us 
関連する問題