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