ruby on rails - que - ¿Cómo obtengo el nombre del mes en Ruby en Rails?
ruby on rails tutorial español (5)
entonces creo en mi vista:
<%=date=Date.today%>
¿Cómo obtengo el nombre del mes de la fecha? Estaba tratando de hacer algo como
<%= DATE::ABBR_MONTHNAMES(date.month)%>
Pero sin éxito. Sigo recibiendo un error: constante no inicializada ActionView::Base::CompiledTemplates::MONTHNAMES
¿Cómo inicializo la constante o hay alguna otra forma de sacar el nombre del formato de Fecha?
apreciaría mucho cualquier respuesta!
Elige lo que quieras
Date.parse(''5-jan-2017'').strftime(''%B'')
Resultado:
=> "Enero"
Date.parse(''5-jan-2017'').strftime(''%b'')
Resultado:
=> "Jan"
Para la mayoría de sus preguntas adicionales relacionadas con la fecha, consulte este enlace http://www.foragoodstrftime.com/
Ref. this
<% @date = Date.today %>
<%= @date.strftime("%B")%>
Si
@date >> Fri, 11 Jun 2010
entonces
@date.strftime("%B") >> "June"
Si quiere un nombre de mes localizado, intente:
I18n.t(''date.month_names'')[date.month]
Ejemplo:
I18n.t(''date.month_names'')[12] #=> "Dezembro"
Si solo busca el nombre del mes, la constante Date::MONTHNAMES
proporcionada por rails es la solución más fácil para usted:
Date::MONTHNAMES =
[
[ 0] nil,
[ 1] "January",
[ 2] "February",
[ 3] "March",
[ 4] "April",
[ 5] "May",
[ 6] "June",
[ 7] "July",
[ 8] "August",
[ 9] "September",
[10] "October",
[11] "November",
[12] "December"
]
Si tiene un formato particular de fecha / hora personalizado que necesita usar repetidamente, entonces puede extender el ayudante de fecha / hora de ActiveSupport.
por ejemplo, si defines lo siguiente en tu config / environment.rb
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(:full_english => "%A %B %d, %Y at %I:%M %p")
luego, cuando llame a Time.now.to_s(:full_english)
en sus vistas, obtendrá algo como:
"Friday June 11, 2010 at 12:53 PM"
El método strftime
de Ruby está bien documentado en http://apidock.com/ruby/Time/strftime