2012-11-10 34 views
0

我想以YYYY-MMM-DD方式格式化我的日期。我有一個指定的en.yml文件。視圖中的日期格式返回意外的格式;在控制檯中輸入正確的格式

formats: 
    default: ! '%Y-%b-%d' 

我也在我的初始化文件夾中創建了一個date_time_formats.rb。

Date::DATE_FORMATS[:default] = '%Y-%b-%d' 
Time::DATE_FORMATS[:db]= '%Y-%b-%d' 

我也嘗試將相同的代碼直接放在我的environments.rb文件中。如果我在控制檯Date.now.to_s中測試默認值,那麼我會得到我期望的回報「2012年11月 - 10日」,但在我看來,我總是看到「2012-11-10」。

我試着將它保存在控制器Date.nowDate.now.to_s,但我仍然得到相同的結果。

我一定會錯過簡單的東西,所以任何幫助將不勝感激。

回答

0

我找到了我的問題的答案,但我不明白爲什麼。這是一個解釋它的Stack答案here

基本上我將這兩行代碼添加到我的environment.rb中。

Time::DATE_FORMATS.merge!({:db => '%m/%d/%Y', :uk_format => '%m/%d/%Y'}) 
Date::DATE_FORMATS.merge!({:db => '%m/%d/%Y', :uk_format => '%m/%d/%Y'}) 

現在一切都按計劃進行。我查找了合併函數的文檔以獲得更好的理解,但沒有任何運氣。

0

您也可以嘗試本地化日期視圖:

<%= l(Model.created_at) %> 
+0

你能有f.text_field型標籤做到這一點的形式? – jhamm

+0

嗯......我不知道:/ – Lichtamberg