如何使用I18n正确格式化created_at输出?

时间:2013-04-23 02:47:03

标签: ruby-on-rails ruby-on-rails-3 internationalization rails-i18n

我正在使用this I18n file

我在我看来是这样称呼它:

<td class="center"><%= l o.created_at %></td>

这是这样输出的:

Mon, 22 May 2013 04:04:43 +0000

首先,为什么它会显示May 22, 2013而不显示April 22

当我在控制台中执行此操作时,我明白了:

> o.created_at
 => Mon, 22 Apr 2013 04:04:43 UTC +00:00 

我不希望它显示时间,或者更愿意只是说:

Monday, April 22, 2013 @ 4:04am

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以为翻译文件添加自定义日期/时间格式。要查看可能的基于时间的替换,请参阅strfime

的参考
formats:
  default: ! '%Y-%m-%d'
  long: ! '%B %d, %Y'
  short: ! '%b %d'
  custom: ! '%A, %M %B, %Y @ %l:%M%P'

在您看来,您可以按如下方式使用:

<%= l o.created_at, :format => :custom %>

您可能需要删除en.yml文件中的空白条目以更正您的翻译错误。

相关问题