0

我正在使用this I18n file如何使用I18n正确格式化我的created_at输出?

我打电话在我的观点是这样的:

<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

您可以将自定义日期/时间格式添加到您的翻译文件中。要查看基于时间的替代是可能的,请参考为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文件中更正您的翻译错误。

+0

当我使用它,我得到这个错误:':#​​'在哪里,第39行是'自定义'行。思考? – marcamillion 2013-04-23 03:34:23

+0

它意味着Psych,您的Rails应用程序正在使用的yaml分析器,无法解析yaml文件第39行开始的标记。这种情况通常发生在从网上进行拼写错误或复制粘贴代码时。没有看到你的yaml文件,我无法分辨。 – rossta 2013-04-23 03:46:16

+0

这里是 - https://gist.github.com/marcamillion/3c250178af9bf48e9a3d – marcamillion 2013-04-23 03:49:55