我正在使用Ruby on Rails v3.2.2,我想顯示一個類似<day_number> <month_name> <year_number>
的數據。也就是說,我有一個datetime
數據庫表列,並且我想將其包含的值更改爲例如2012-04-27 00:00:00
到27 april 2012
。如何處理`datetime`值以便將它從「2012-04-27 00:00:00」更改爲「2012年4月27日」?
我該如何做到這一點?
我正在使用Ruby on Rails v3.2.2,我想顯示一個類似<day_number> <month_name> <year_number>
的數據。也就是說,我有一個datetime
數據庫表列,並且我想將其包含的值更改爲例如2012-04-27 00:00:00
到27 april 2012
。如何處理`datetime`值以便將它從「2012-04-27 00:00:00」更改爲「2012年4月27日」?
我該如何做到這一點?
標準方式是使用導軌本地化。
模型
I18n.l(datetime, :format => :short)
控制器
I18n.l(datetime, :format => :long)
視圖
<%= l(datetime), :format => :custom %>
配置/語言環境/ en.yml
en:
time:
formats:
long: "%A %B %d %Y | %I:%M %p GMT"
short: "%d %B %Y, %H:%M GMT"
custom: "your custom format"
date:
formats:
short: "%d %B %Y"
long: "%A %B %d %Y"
custom: "your custom format"
在你的情況下,格式應該是「%d%A%Y」。
好處是,如果你想改變格式,你可以在一個地方爲你正在使用的所有日期時間做到這一點。
您可以使用該方法
str_name.strftime("%d %A %Y")
犯錯,你爲什麼不只是把它保存爲一個'date'而不是'datetime'? – 2012-04-27 15:19:35
@安德魯馬歇爾 - 這是因爲我想盡可能精確。 ;-) – Backo 2012-04-27 15:22:33