我想更改幻想列的rails(created_at,modified_at)的默認時間戳,而不是2010-09-03 14:52:46 UTC我想更改它到2010年9月10日下午02:52。或者至少可以這樣解析。更改魔術列的時間戳(Rails)
現在,我知道我可以在視圖中通過操縱變量來做到這一點,但是沒有更多的「鐵路方式」,我可以在模型中做到這一點,然後將其稱爲方法?
我想更改幻想列的rails(created_at,modified_at)的默認時間戳,而不是2010-09-03 14:52:46 UTC我想更改它到2010年9月10日下午02:52。或者至少可以這樣解析。更改魔術列的時間戳(Rails)
現在,我知道我可以在視圖中通過操縱變量來做到這一點,但是沒有更多的「鐵路方式」,我可以在模型中做到這一點,然後將其稱爲方法?
class YourModel < ActiveRecord::Base
def my_formated_date_time
created_at.strftime("%B %d, %Y at %I:%M %p")
end
end
或者您可以使用本地化格式。將此添加到您的config/locale/your_locale.yml
。恕我直言:這將是最有鐵路的方式。
your_locale:
time:
formats:
default: "%B %d, %Y at %I:%M %p"
那麼做到這一點
<%=l @your_model.created_at %>
<!-- short for: -->
<%= I18n.localize @your_model.created_at %>
修改created_at
日期沒有問題,它會保留在您設置的位置,甚至可以在開始時覆蓋它,但updated_at
或modified_at
可能會很棘手。每次保存模型時都會改變。如果你不想這種行爲,約定建議切換到不同的名稱。
如果您想調整日期的顯示方式,您需要配置默認的格式化程序。
謝謝!這正是我所尋找的:-) – Gotjosh 2010-09-03 15:38:27