Sto usando Date.today.month
per visualizzare il numero del mese. Esiste un comando per ottenere il nome del mese o devo creare un caso per ottenerlo?
Sto usando Date.today.month
per visualizzare il numero del mese. Esiste un comando per ottenere il nome del mese o devo creare un caso per ottenerlo?
Risposte:
Date::MONTHNAMES[Date.today.month]
ti darebbe "gennaio". (Potrebbe essere necessario require 'date'
prima).
Date.today.strftime("%B")
è un modo migliore per farlo, imho. E non è specifico per i binari. Vedi la risposta sotto di leafo.
require 'date'
prima.
Puoi anche usare 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"
Puoi usare strftime
:
Date.today.strftime("%B") # -> November
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#strftime-method
Time.new.strftime("B")
Today e lo strftime è stato tolto da Date
Se ti interessa il locale, dovresti farlo:
I18n.l(Time.current, format: "%B")
I18n.l(Date.new, format: '%B')
per iniziare con gennaio. Se vuoi aggiungere mesi, come avere febbraio, usaDate.new + 1.month