首页 > 编程语言 >在 Ruby/Rails 中重新格式化时间戳

在 Ruby/Rails 中重新格式化时间戳

时间:2022-09-05 09:47:58浏览次数:99  
标签:格式化 created 更新 时间 Rails Ruby 属性

在 Ruby/Rails 中重新格式化时间戳

Image by Pexels, PixaBay.com, Licensed under CC0

任何在 Ruby/Rails 应用程序上工作的程序员都见过 t.timestamps 在他们的 ActiveRecord 迁移和 created_at 更新时间 迁移在您的表中创建的属性。这些属性是什么,更重要的是,我们如何更改它们以使其更具可读性?

时间戳

根据 活动记录文档

如果表中包含名为的字段,Active Record 会自动为创建和更新操作添加时间戳 created_at/created_on 或者 更新时间/更新时间 .

当新创建或更新记录时,Active Record 会更改这些属性。通常,时间戳已经包含在生成后迁移的底部(见下文):

如果您不想在创建新迁移时自动添加时间戳,那么您可以简单地添加 config.active_record.record_timestamps = **错误的** 在你的 /config/application.rb 文件。您可能需要回滚并重新迁移才能看到此更改。

但是,如果我们想保留我们的时间戳以备后用怎么办?时间戳使用 UTC 时间显示,乍一看通常很难阅读:

2022–09–04T18:41:07.040Z ……是的。这种格式肯定会起作用,但它有点粗糙,而且对用户不太友好。那么我们如何改变我们的 created_at 或者 更新时间 属性以使它们对我们的用户或从事我们项目的其他开发人员更具可读性?

实现这一目标有几种不同的选择,但今天我将介绍在我的应用程序中尝试为我的朋友请求通知显示更用户友好的日期和时间时对我有用的选项。以下内容非常基于 这个 简短的帖子和解决方案的所有功劳归作者所有。

您实际上可以覆盖您的格式 created_at 或者 更新时间 只需在模型中添加以下代码即可获得属性:

属性['created_at'].strftime(“%m/%d/%Y %H:%M”)

例如,这就是我的代码的样子 好友请求 模型:

…以及在我的应用程序中为好友请求显示的结果日期和时间:

…aaa 瞧!比阅读容易得多 2022–09–04T18:41:07.040Z 你不觉得吗?

结论

可能有更好的方法来实现相同的目标,甚至显示本地时间而不是 UTC,但这超出了本文的范围。显示格式良好的时间戳并不总是必要的,但是您的用户稍后可能会在他们尝试确定他们的朋友请求、邀请、警报等更新/创建的时间和时间时默默感谢您,这通常会改善整体我认为的用户体验。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/15466/33550509

标签:格式化,created,更新,时间,Rails,Ruby,属性
From: https://www.cnblogs.com/amboke/p/16656978.html

相关文章