在我的 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-01
UTC 时间值。同时,我设置了一个elapsed
时间属性为:
s.elapsed = s.end - s.start
在数据库中,elapsed
显示为一个非常大的数字(403056003),即使两者之间的差异start
只有end
几秒钟。
如果我稍后在我的应用程序中显示s.elapsed
和( ),则在数据库中显示大数字(显然),但计算显示正确!s.end - s.start
s.elapsed
s.end - s.start
对不起,如果这是漫无边际的。我显然错过了一些基本的东西,但无法到达那里。