Module: DateContinuity::TimeBetween
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/date_continuity/time_between.rb
Instance Method Summary collapse
Instance Method Details
#months_between(date1, date2) ⇒ Object
7 8 9 10 |
# File 'lib/date_continuity/time_between.rb', line 7 def months_between(date1, date2) earlier, later = [date1, date2].sort (later.year - earlier.year) * 12 + later.month - earlier.month end |
#years_between(date1, date2) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/date_continuity/time_between.rb', line 12 def years_between(date1, date2) earlier, later = [date1, date2].sort diff = (later.year - earlier.year) if earlier.month > later.month diff -= 1 elsif earlier.month == later.month if earlier.end_of_month == earlier && later.end_of_month == later # no-op, account for leap years elsif earlier.day > later.day diff -= 1 end end diff end |