如何处理`datetime`值以便将它从`2012-04-27 00:00:00 00改为2012年4月27日?

时间:2012-04-27 13:17:51

标签: ruby-on-rails ruby ruby-on-rails-3 datetime date

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

我该怎么做?

2 个答案:

答案 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")
相关问题