how do I get name of the month in ruby on Rails?
Ruby on-RailsRubyRuby on-Rails Problem Overview
so i create in my view:
<%=date=Date.today%>
How do i get the name of the month out of the date? I was trying to do sth like
<%= DATE::ABBR_MONTHNAMES(date.month)%>
But without success. I keep getting an error: uninitialized constant ActionView::Base::CompiledTemplates::MONTHNAMES
How do i initialise the constant or is there any other way to get the name out of the Date format?
would greatly appreciate any answers!
Ruby on-Rails Solutions
Solution 1 - Ruby on-Rails
Ref this
<% @date = Date.today %>
<%= @date.strftime("%B")%>
if
@date >> Fri, 11 Jun 2010
then
@date.strftime("%B") >> "June"
Solution 2 - Ruby on-Rails
If you are looking solely to the month name, the Date::MONTHNAMES
constant provided by rails is the easiest solution for you:
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"
]
Solution 3 - Ruby on-Rails
If you want a localized month name, try:
I18n.t('date.month_names')[date.month]
Example:
I18n.t('date.month_names')[12] #=> "Dezembro"
Solution 4 - Ruby on-Rails
If you have a particular custom date / time format which you need to use repeatedly then you can extend the ActiveSupport date / time helper.
e.g. if you define the following in your config/environment.rb
ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.merge!(:full_english => "%A %B %d, %Y at %I:%M %p")
then when you call Time.now.to_s(:full_english)
in your views you will get something like:
"Friday June 11, 2010 at 12:53 PM"
Ruby's strftime
method is well documented at http://apidock.com/ruby/Time/strftime
Solution 5 - Ruby on-Rails
Choose what you want
Date.parse('5-jan-2017').strftime('%B')
Result:
> => "January"
Date.parse('5-jan-2017').strftime('%b')
Result:
> => "Jan"
For most of your further date related questions, refer this link http://www.foragoodstrftime.com/
Solution 6 - Ruby on-Rails
this should help you https://www.shortcutfoo.com/app/dojos/ruby-dates/cheatsheet
Date::MONTHNAMES
Date::DAYNAMES