【问题标题】:How do I convert a non ruby on rails date into a readable format?如何将非 ruby on rails 日期转换为可读格式?
【发布时间】:2014-08-14 10:13:25
【问题描述】:
在 ruby on rails 中是否有将此日期 2014-08-13T22:11:18.138Z 转换为更易读的格式,例如 dd/mm/yyyy 或 2014 年 1 月 1 日。
它来自 parse.com 数据库的 createdAt 字段。
如何转换?
我需要某种正则表达式吗?
是否有内置的 ruby 代码可以用来为我进行转换?
【问题讨论】:
标签:
ruby-on-rails
ruby
ruby-on-rails-4
【解决方案1】:
你可以这样做:
// it will be parsed to the datetime in the timezone configured by rails app.
Time.zone.parse('2014-08-13T22:11:18.138Z').strftime('%d/%m/%Y')
【解决方案2】:
Date 类具有大量标准格式的内置转换。确定格式(在本例中为 RFC3339),您将能够找到如下内容:
require 'date'
return Date.rfc3339('2014-08-13T22:11:18.138Z')
#<Date: 2014-08-13 ((2456883j,0s,0n),+0s,2299161j)>
【解决方案3】:
在您的语言环境 en.yml 中
date:
formats:
# Use the strftime parameters for formats.
# When no format has been given, it uses default.
# You can provide other formats here if you like!
default: "%d/%m/%Y"
short: "%b %d"
long: "%B %d, %Y"
在你看来
<%= I18n.l @entry.created_at, :format => :short %>