ActiveRecord中的奇数时间存储行为

cma*_*han 1 time activerecord ruby-on-rails

我的数据库中有以下条目:

t.time :my_time_stamp
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我更新它像这样:

model.update_attributes(:my_time_stamp => Time.now.utc)
Run Code Online (Sandbox Code Playgroud)

我可以看到我在写作:

Mon 9 November, 8:54.54 UTC 2009 
Run Code Online (Sandbox Code Playgroud)

但是,当我后来读到这个值时,我得到:

Sat Jan 01 08:54:54 UTC 2000
Run Code Online (Sandbox Code Playgroud)

似乎时间部分已存储但不存储日期部分.我希望这是因为它是一个时间字段,但为什么我最终存储和检索日期?我想我必须误解这是如何以某种基本方式起作用的......我做错了什么?

我需要做的是计算自更新到数据库以来的秒数...是否有更简单的方法来做到这一点?

谢谢!

Dam*_*IEU 5

"时间"字段仅存储时间.不是约会对象.
因此,您只能获得有效时间而非有效日期是合乎逻辑的.

如果要在数据库中存储日期和时间,则应进行以下迁移:

t.datetime :my_time_stamp
Run Code Online (Sandbox Code Playgroud)