Estoy usando Date.today.monthpara mostrar el número del mes. ¿Existe un comando para obtener el nombre del mes, o necesito hacer un caso para obtenerlo?
Date.today.strftime("%B")es una mejor manera de hacer esto, en mi humilde opinión. Y no es específico de los rieles. Vea la respuesta a continuación por leafo.
Peter Berg
2
@PedroMorteRolo todavía me funciona en Ruby 2.2.0 - asegúrate de hacerlo require 'date'primero.
Solo una advertencia para cualquiera que use Ruby 2, debe usar Time.new.strftime("B")Today y strftime se eliminan de Date
Sanarothe
7
No es verdad. Ambos están en su lugar con Ruby 2.0 y Ruby 2.1 . Tenga en cuenta que no están disponibles hasta que usted require "date", ya que están en std-lib, no en core.
pbyrne
16
Si le importa la configuración regional, debe hacer lo siguiente:
Respuestas:
Date::MONTHNAMES[Date.today.month]
le daría "enero". (Es posible que deba hacerlorequire 'date'
primero).fuente
Date.today.strftime("%B")
es una mejor manera de hacer esto, en mi humilde opinión. Y no es específico de los rieles. Vea la respuesta a continuación por leafo.require 'date'
primero.También puede utilizar I18n:
fuente
Puede utilizar
strftime
:http://www.ruby-doc.org/stdlib-1.9.3/libdoc/date/rdoc/Date.html#strftime-method
fuente
Time.new.strftime("B")
Today y strftime se eliminan de Daterequire "date"
, ya que están en std-lib, no en core.Si le importa la configuración regional, debe hacer lo siguiente:
fuente
I18n.l(Date.new, format: '%B')
empezar en enero. Si desea agregar meses, como tener febrero, useDate.new + 1.month
Para Ruby 1.9 tuve que usar:
fuente
HTML Seleccionar mes con I18n:
fuente