,所以我創造我的觀點:如何在Rails的ruby中獲取月份的名稱?
<%=date=Date.today%>
我要如何月份出了名的日期?我試圖做的像
<%= DATE::ABBR_MONTHNAMES(date.month)%>
但沒有成功。我不斷收到錯誤:未初始化的常量ActionView::Base::CompiledTemplates::MONTHNAMES
如何初始化常量或是否有任何其他方式從日期格式中獲取名稱?
將非常感謝任何答案!
,所以我創造我的觀點:如何在Rails的ruby中獲取月份的名稱?
<%=date=Date.today%>
我要如何月份出了名的日期?我試圖做的像
<%= DATE::ABBR_MONTHNAMES(date.month)%>
但沒有成功。我不斷收到錯誤:未初始化的常量ActionView::Base::CompiledTemplates::MONTHNAMES
如何初始化常量或是否有任何其他方式從日期格式中獲取名稱?
將非常感謝任何答案!
參考this
<% @date = Date.today %>
<%= @date.strftime("%B")%>
如果
@date >> Fri, 11 Jun 2010
然後
@date.strftime("%B") >> "June"
如果你有,你需要重複使用一個特定的自定義日期/時間格式,那麼你可以延長ActiveSupport日期/時間助手。
例如如果你定義在你的config/environment.rb文件以下
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(:full_english => "%A %B %d, %Y at %I:%M %p")
那麼當你在你的意見致電Time.now.to_s(:full_english)
你會得到這樣的:
"Friday June 11, 2010 at 12:53 PM"
Ruby的strftime
方法在http://apidock.com/ruby/Time/strftime
查看日期/時間轉換器to_formatted_s。這允許你定義日期格式(比如':month_only')並使用date.to_formatted_s(:month_only),這樣你可以最大限度地重用你的strftime使用。 – 2010-06-11 15:03:40
如果您只是看月份名稱,軌道提供的Date::MONTHNAMES
常數對您來說是最簡單的解決方案:
Date::MONTHNAMES =
[
[ 0] nil,
[ 1] "January",
[ 2] "February",
[ 3] "March",
[ 4] "April",
[ 5] "May",
[ 6] "June",
[ 7] "July",
[ 8] "August",
[ 9] "September",
[10] "October",
[11] "November",
[12] "December"
]
選擇你想要什麼
Date.parse('5-jan-2017').strftime('%B')
結果:
=> "January"
Date.parse('5-jan-2017').strftime('%b')
結果:
=> "Jan"
對於大部分的進一步日期相關的問題,請參閱此鏈接 http://www.foragoodstrftime.com/
如果你想有一個本地化的月份名稱,請嘗試:
I18n.t('date.month_names')[date]
例子:
I18n.t('date.month_names')[12] #=> "Dezembro"
我希望有'Date.today.month_name'。 – Chloe 2017-06-12 01:58:56
@Chloe: class Date; def month_name; self.strftime( 「%B」);結束;結束 – MustModify 2018-02-02 17:46:00