64

我在environment.rbas de(德语)中设置了默认语言环境。

我还看到了德语的所有错误消息,因此服务器选择了语言环境。但是当我尝试使用strftime以下方式打印日期时:

some_date.strftime('%B, %y')

它以英语 ( ) 打印January, 11,而不是预期的德语 ( Januar, 11)。

如何根据默认语言环境打印日期?

4

3 回答 3

121

使用l(alias for localize) 方法而不是原始 strftime,如下所示:

l(date, format: '%B %d, in the year %Y')

请参阅此处以获取更多信息,希望对您有所帮助。

您还可以定义“命名”格式,其中一些 ( short, long) 已经预定义。

于 2011-01-04T09:51:44.790 回答
29

你也可以让它更短:

l(some_date, :format => '%d %B %Y')
于 2011-03-07T11:45:19.553 回答
9

在 es.yml 中输入:

es:
  date:
    formats:
      default: "%d / %m / %Y"

在 index.html.erb 中放:

<%= l somemodel.datefield %>
于 2012-09-20T23:10:07.437 回答