class Date

Public Class Methods

days_between(start, finish) click to toggle source
# File lib/bad_ass_extensions/date.rb, line 6
def self.days_between(start, finish)
  (finish - start).to_i
end
months_between(start, finish) click to toggle source
# File lib/bad_ass_extensions/date.rb, line 14
def self.months_between(start, finish)
  if start.year != finish.year
    difference = (12 - start.month) + (12 * years_between(start, finish)) + finish.month
  else
    difference = finish.month - start.month
  end
  difference -= 1 if finish.day < start.day
  difference
end
weeks_between(start, finish) click to toggle source
# File lib/bad_ass_extensions/date.rb, line 10
def self.weeks_between(start, finish)
  days_between(start, finish) / 7
end
years_between(start, finish) click to toggle source
# File lib/bad_ass_extensions/date.rb, line 24
def self.years_between(start, finish)
  difference = finish.year - start.year
  difference -= 1 if difference > 0 && (finish.month < start.month || finish.day < start.day)
  difference
end