[ruby] 이번 달 이름 (Date.today.month 이름)

Date.today.month월 번호를 표시하는 데 사용 하고 있습니다. 월 이름을 가져 오는 명령이 있습니까, 아니면 가져 오기 위해 케이스를 만들어야합니까?



답변

Date::MONTHNAMES[Date.today.month]“1 월”을 제공합니다. ( require 'date'먼저 필요할 수 있습니다 ).


답변

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"


답변

다음을 사용할 수 있습니다 strftime.

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

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


답변

로케일에 관심이 있다면 다음을 수행해야합니다.

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


답변

Ruby 1.9의 경우 다음을 사용해야했습니다.

Time.now.strftime("%B")


답변

I18n이있는 HTML 선택 달 :

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


답변