0

重複の可能性:
UTC 時刻が 2000-01-01 (ruby) にリセットされます。時間がリセットされないようにするにはどうすればよいですか?

私のapplication.rbには、次のものがあります。

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

私のアプリケーションで、次のように表示する場合:

<%= Time.now %>

すべてが期待どおりに見えます (" 2012-10-09 09:20:39 -0400")。

タイプのSession属性 ' start' および ' ' を持つモデルもあります。endTime

アプリケーション コードで を作成し、Sessionを設定するとs.start=Time.now、時刻が UTC 時刻としてデータベースに表示されます。これは、アプリケーション用に変換されていれば問題ありませんが、日付が2000-01-01, and の場合、私は次のようなものを持っています:

<%= s.start %>

また、endしばらくして ' ' 属性に を入力s.end = Time.nowすると、同様2000-01-01の UTC 時間値が得られます。同時に、elapsed時間属性を次のように設定しました。

s.elapsed = s.end - s.start

データベースでは、とelapsedの差が数秒であっても、非常に大きな数字 (403056003) として表示されます。startend

後でアプリケーションs.elapsedで ( )を表示すると、データベースには大きな数値が表示されますが (明らかに)、 の計算は正しく表示されます。s.end - s.starts.elapseds.end - s.start

これがとりとめのない場合は申し訳ありません。私は明らかに根本的な何かを欠いていますが、そこにたどり着くことができません。

4

0 に答える 0