我正在使用Ruby on Rails v3.2.2,我希望显示类似<day_number> <month_name> <year_number>
的数据。也就是说,我有一个datetime
数据库表列,我想更改其包含的值,例如,从2012-04-27 00:00:00
更改为27 april 2012
。
我该怎么做?
答案 0 :(得分:5)
标准方法是使用导轨定位。
模型
I18n.l(datetime, :format => :short)
控制器
I18n.l(datetime, :format => :long)
视图
<%= l(datetime), :format => :custom %>
配置/区域设置/ en.yml
en:
time:
formats:
long: "%A %B %d %Y | %I:%M %p GMT"
short: "%d %B %Y, %H:%M GMT"
custom: "your custom format"
date:
formats:
short: "%d %B %Y"
long: "%A %B %d %Y"
custom: "your custom format"
在您的情况下,格式应为“%d%A%Y”。
好处是,如果您想要更改格式,可以在一个地方为您使用的所有日期时间执行此操作。
答案 1 :(得分:1)
您可以使用方法
str_name.strftime("%d %A %Y")