如何将日期时间值格式化为更友好的格式?

时间:2011-12-05 15:03:02

标签: ruby-on-rails ruby datetime

我是Ruby on Rails的新手。我使用SQLite3创建了一个博客,因为我无法安装MySQL,并希望在标题旁边显示创建日期。

使用时间戳创建创建日期。由于我是RoR的新手,我使用generate scaffold创建了博客,因此我不能完全确定这一切是如何运作的。

目前,当我显示created_at字段时,我的格式很难看:

2011-12-05 14:11:10 UTC

有没有办法改变它,以便显示DD-MM-YYYY HH:MM,或者最好说“posted 30 days ago”。我意识到后者会更棘手。

2 个答案:

答案 0 :(得分:9)

我认为您正在寻找strftime - ruby​​文档here

示例:

irb(main):001:0> a = Time.now
irb(main):002:0> a.strftime("%d-%m-%Y %H:%M")
=> "05-12-2011 15:08"

答案 1 :(得分:3)

首先:你必须安装SQLite以外的东西(我推荐PostgreSQL,而不是MySQL)。 SQLite不适合生产,你真的不希望你的开发和生产数据库服务器不同。

对于您的问题:Ruby和Rails有很多日期格式化方法。 to_s可以做你想做的事,或者像ActionView::Helpers::DateHelper.time_ago_in_words这样的事情。