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

how*_*cks 4 ruby datetime ruby-on-rails

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

使用时间戳创建创建日期.因为我是RoR的新手,generate scaffold所以我使用了这个博客,所以我不能完全确定这一切是如何运作的.

目前,当我显示该created_at字段时,我给出了一个丑陋的格式:

2011-12-05 14:11:10 UTC
Run Code Online (Sandbox Code Playgroud)

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

Col*_*ley 9

我认为你正在寻找strftime- Ruby文档在这里.

例:

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


Mar*_*ser 4

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

对于你的问题:Ruby 和 Rails 有很多日期格式化方法。to_s可能会做你想做的事,或者有类似的事情ActionView::Helpers::DateHelper.time_ago_in_words