如何让rails自动以int格式为created_at字段存储时间

时间:2011-05-28 03:32:20

标签: ruby-on-rails ruby-on-rails-plugins

我使用rails for 2.3.5版,当我更新或保存记录时,created_at和updated_at字段可以自动填写,如'2011-05-17 23:54:53',但我想要要自动将第二个int值存储到这些字段,我该怎么办?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

在数据库引擎中,日期,时间,日期时间和时间戳的存储方法可能会有所不同,但通过SQL层的表示通常类似。如果您喜欢使用某些内置函数,可以将请求从整数转换为时间。

例如,在MySQL中,您可以使用UNIX_TIMESTAMP函数返回整数次:

SELECT UNIX_TIMESTAMP(created_at) FROM users

您还可以插入整数并转换为时间:

UPDATE users SET updated_at=FROM_UNIXTIME(1111885200) WHERE id=1

ActiveRecord本身不支持此类内容,但您可以使用DateTime类进行转换:

User.first.created_at.to_i

您还可以将整数转换为DateTime

user.updated_at = Time.at(1111885200)