2

我正在使用 Ruby on Rails v3.2.2,我想将数据显示为<day_number> <month_name> <year_number>. 也就是说,我有一个datetime数据库表列,我想更改其包含的值,例如,从2012-04-27 00:00:0027 april 2012

我怎样才能做到这一点?

4

2 回答 2

5

标准方法是使用 rails 本地化。

模型

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”。

好处是,如果您想更改格式,您可以在一个地方为您正在使用的所有日期时间执行此操作。

于 2012-04-27T13:19:10.220 回答
1

您可以使用该方法

str_name.strftime("%d %A %Y")
于 2012-04-27T13:24:01.407 回答