I\'m sure there\'s a good simple elegant one-liner in Ruby to give you the number of days in a given month, accounting for year, such as \"February 1997\". What is it?
Time.now.end_of_month.day
- for current month
Date.parse("2014-07-01").end_of_month.day
- use date of first day in month.
Depends on ActiveSupport
For a given Date object I feel like the easiest is:
Date.today.all_month.count
as of rails 3.2... there's a built in version: http://api.rubyonrails.org/classes/Time.html#method-c-days_in_month
(alas, it shows up after this answer, which takes folks on a long hike)
Since the time is irrelevant for this purpose then you just need a date object:
[*Date.today.all_month].size
Use Time.days_in_month(month)
where month = 1
for January, 2
for Feb, etc.
revise the input for other format
def days_in_a_month(date = "2012-02-01")
date.to_date.end_of_month.day
end