2/25/2007

修改 Ruby 預設的 Time 顯示格式

Rails 預設的 Datetime format 是類似這樣的形式 「Sun Feb 25 15:43:00 +0800 2007」,這個形式老實說根本不能用,因為就算是英文網站,也沒有人會喜歡類似 +800 這樣的形式,中文就不用說了。雖然我們可以使用 Strftime 的函示修改他呈現的 format,但是有沒有辦法直接修改預設值呢?

當然有。請在 config 裡面加入
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.update(:default => '%Y年%m月%d日 %H:%M')
ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.update(:default => '%Y年%m月%d日')
時間的格式就請參照 strftome 的格式即可。

如果你想多加幾個時間表現方式,也可以這樣寫。
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.update(:my_format => '%Y-%m-%d %H:%M')
然後,就可以這樣使用了
a.time.to_s(:my_format)
本範例參照此網頁

沒有留言: