My Railsアプリケーションは、PostgoデータベースでHeroku上でホストされています。私は午前20時50分00秒と店@今日のインスタンスに対して選択した場合はHeroku上のRailsのデータベースでのタイムゾーンの問題を修正しました
def create_timestamp
self.date = day.to_datetime + time.seconds_since_midnight.seconds
end
:特定のモデルのために私は私がモデルを保存する前に、これまでに組み合わせる日と時間を選択したようにユーザーに求めていますそれは、データベースに、私の記録は次のようになります。あなたが気づくかもしれませんが、created_atと日付が異なる
<Report id: 1, account_id: 1, date: "2016-11-05 20:50:00", description: "test", created_at: "2016-11-05 19:50:57", updated_at: "2016-11-05 19:50:57", deleted_at: nil, user_id: 1, report_category_id: 2, time: "2000-01-01 20:50:00", day: "2016-11-05">
、それは別のタイムゾーンでだから。 created_atはUTC +0000に格納されていますが、ローカルのタイムゾーンを使用する私のカスタム日付はCET +0100です。
コンソールに入力すると:Report.find(1).date
、それは2016-11-05 21:50:00 +0100を返します。
どのようにして、正しい日付を初期セットに格納するか、またはクエリするときにデータベースが正しいタイムゾーンを返すようにするにはどうすればよいですか?あなたが現在やっていること
おかげ
タイムゾーンの時刻を返します
を使用する必要があります! –