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

发布于 2024-11-10 15:13:39 字数 139 浏览 2 评论 0原文

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

先感谢您。

I use rails for version 2.3.5, when i update or save a record, the created_at and updated_at fields can be filled in automatically in the format like '2011-05-17 23:54:53', however i want to store the second int value of time to these fields automatically, what should i do?

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

撩起发的微风 2024-11-17 15:13:39

在数据库引擎中,日期、时间、日期时间和时间戳的存储方法可能会有所不同,但通过 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)

Within your database engine the storage method for dates, times, datetimes, and timestamps can vary but the presentation through the SQL layer is often similar. You can transform the request from integer to time if you like using some of the built in functions.

For example, in MySQL you can use the UNIX_TIMESTAMP function to return integer times:

SELECT UNIX_TIMESTAMP(created_at) FROM users

You can also insert integers and convert to times:

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

This sort of thing is not supported natively within ActiveRecord, but you can do conversions using the DateTime class:

User.first.created_at.to_i

You can also convert from an integer to a DateTime:

user.updated_at = Time.at(1111885200)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文