私の現在の状況は次のとおりです。Rails 3.1タイムゾーンが混乱していますか?
属性のタイムゾーンを持つユーザークラスがあります。
ユーザーがstart_time(3pm)とend_time(5pm)で講義を作成する場合、start_timeとend_timeは実際にはユーザーのタイムゾーンで午後3時と午後5時です。
def set_timezone
if current_user
Time.zone = current_user.time_zone or "Eastern Time (US & Canada)"
end
end
上記の講義は、4時間を追加しているようだデータベースに保存されている場合:私は次のことをやっている私のアプリケーションのコントローラで
。それをUTCに変換していますか?奇妙なことは、ビューに時刻を表示すると正しいことです(UTC時刻からEST時刻に変換されていると思います)。
ユーザが4pmを選択すると、データベースに4pmとして保存され、その時間をビューに表示すると4pmになります。私は現在何を間違っていますか?
EDIT:データベースに格納するときに、すべての時刻をすべてUTCに変換するように見えます。時間がかかるクエリを実行するまではOKです(手動でUTCに変換する必要があります)。