我可以通过以下方式获得下个月的月份编号和年份:
(Time.now + 1.month).month
# => 10
(Time.now + 1.month).year
# => 2015
如何从"October"
获取10
?
答案 0 :(得分:40)
您可以使用Date的月份名称
Date::MONTHNAMES[10] => "October"
答案 1 :(得分:19)
Ruby Date类提供一个常量的月份名称数组。您可以将月号作为索引传递,并获得月份名称
Date::MONTHNAMES[10]
# November
获取缩写的月份名称
Date::ABBR_MONTHNAMES[10]
# Nov
或者您也可以使用strftime%B formater(例如
)从日期获取月份名称Date.today.strftime(%B)
# September
类似地
(Time.now + 1.month).strftime('%B')
# November
如果您的应用程序是多语言或使用英语以外的语言,您可以使用I18n获取本地化的月份名称
I18n.l(Time.now, format: "%B")
答案 2 :(得分:15)
我认为应该在I18n模块的帮助下完成,因为strftime
忽略了语言环境:
(Time.now + 1.month).strftime("%B") # => 'October'
I18n.l(Time.now + 1.month, format: "%B") # => 'Oktober'
答案 3 :(得分:13)
使用格式字符串。
(Time.now + 1.month).strftime("%B")
# => "October"