0
テーブルデータは一般的なものであるため、データとして日付(日付なし)のみが必要です。したがって、データ型はpostgresqlにtime
として保存されます。RailsはUTCとして時刻書式データを格納するのはなぜですか?
しかし、その後、このidiosyncracyが
> @day_schedules.first
=> #<Schedule id: 17, start_time: "2000-01-01 06:00:00"
をポップアップ表示し、
> @day_schedules.first.start_time
=> 2000-01-01 06:00:00 UTC
だから、このデータは、実際に間違っである1がdatetime
データ型のデータを比較したい場合は、言って...
@interruptions[0].pause
=> Sat, 18 Mar 2017 07:35:18 CET +01:00
私たちは現在UTCからCETへの呼び出し... time
はどのようにして "06:00:00"という特定の値として扱われますが、CET +01:00
タイムゾーンで扱うことができますか?
すべてがデータベース内UTCでなければなりません。あなたの '時間'(実際に '時間帯なしの時間 ')は、データベースの中のちょうど時間帯になります。 Rubyには時刻クラスはありません(http://stackoverflow.com/a/42539230/479863)ので、 'start_time'に' 2001-01-01'という日付があります。 Ruby-landでは、タイムゾーンが適用される場合と適用されない場合があります。私はあなたがデータベースの中で時間の作業をしていること(時刻が本当のところです)とタイムスタンプを取り出すことがより良い時間になると思います。 –
私が間違っていない場合は、UTCとCETの2つのタイムスタンプを比較しようとしています。これは、サーバー上で、すべてをUTCとして扱い/保管し、ブラウザまたはバックエンド自体に返送するときにそれに応じて変更する必要があるという標準と考えることができます。 この場合、他のタイムゾーンをUTCに変換し、計算を実行することを提案します。それは役に立ちますか? – aks
このトリックは、データがUTCで保存されていることを理解していましたが、日付と時刻を呼び出すときの動作が異なります。ですから、チェーンコマンドを使って項目を一貫して関連づけることにあります。 'start_time.in_time_zone' ** in_time_zone **接尾辞はすべての比較を一列にしました。 – Jerome