0

可能重复:
UTC 时间重置为 2000-01-01(红宝石)。如何防止时间重置?

在我的 application.rb 中,我有:

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

如果在我的应用程序中,我显示:

<%= Time.now %>

一切看起来都如我所料(“ 2012-10-09 09:20:39 -0400”)。

我还有一个Session模型,其属性为 ' start' 和 ' end' 类型Time

如果,在我的应用程序代码中,我创建一个Session并设置s.start=Time.now,则时间在数据库中显示为 UTC 时间,如果为应用程序翻译这是可以的,但日期为2000-01-01, 并且,如果在应用程序中以相同的方式显示我有类似的东西:

<%= s.start %>

此外,如果我稍后用 填充我的 ' end' 属性s.end = Time.now,我会得到一个类似的2000-01-01UTC 时间值。同时,我设置了一个elapsed时间属性为:

s.elapsed = s.end - s.start

在数据库中,elapsed显示为一个非常大的数字(403056003),即使两者之间的差异start只有end几秒钟。

如果我稍后在我的应用程序中显示s.elapsed和( ),则在数据库中显示大数字(显然),但计算显示正确!s.end - s.starts.elapseds.end - s.start

对不起,如果这是漫无边际的。我显然错过了一些基本的东西,但无法到达那里。

4

0 回答 0