ruby 本月名称(日期.今天.月份作为名称)

odopli94  于 4个月前  发布在  Ruby
关注(0)|答案(6)|浏览(52)

我使用Date.today.month来显示月份号。是否有命令来获取月份名称,或者我需要创建一个case来获取它?

neekobn8

neekobn81#

如果你关心本地化,你应该这样做:

I18n.l(Time.current, format: "%B")

字符串

tv6aics1

tv6aics12#

对于Ruby 1.9,我必须使用:用途:

Time.now.strftime("%B")

字符串

dz6r00yl

dz6r00yl3#

HTML使用I18n选择月份:

<select>
  <option value="">Choose month</option>
  <%= 1.upto(12).each do |month| %>
    <option value="<%= month %>"><%= I18n.t("date.month_names")[month] %></option>
  <% end %>
</select>

字符串

30byixjq

30byixjq4#

Date::MONTHNAMES[Date.today.month]会给你给予“一月”。(你可能需要先给require 'date')。
也可以使用Date::ABBR_MONTHNAMES[Date.today.month],它给出“Jan”。

syqv5f0l

syqv5f0l5#

您也可以使用I18n:

I18n.t("date.month_names") # [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]
I18n.t("date.abbr_month_names") # [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
I18n.t("date.month_names")[Date.today.month] # "December"
I18n.t("date.abbr_month_names")[Date.today.month] # "Dec"

字符串

u2nhd7ah

u2nhd7ah6#

可以使用strftime

Date.today.strftime("%B") # -> November

字符串
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#strftime-method

相关问题