This latest version of the gem works with ActiveSupport 5.1. For prior version, check out v0.6.x-activesupport42
TimeDifference is the missing Ruby method to calculate difference between two given time. You can do a Ruby time difference in year, month, week, day, hour, minute, and seconds.
Add this line to your application's Gemfile:
gem'time_difference'And then execute:
$ bundle install# Timestart_time=Time.new(2013,1)end_time=Time.new(2014,1)TimeDifference.between(start_time,end_time).in_years=>1.0# DateTimestart_time=DateTime.new(2013,1)end_time=DateTime.new(2014,1)TimeDifference.between(start_time,end_time).in_years=>1.0# Datestart_time=Date.new(2013,1)end_time=Date.new(2014,1)TimeDifference.between(start_time,end_time).in_years=>1.0start_time=Time.new(2013,1)end_time=Time.new(2014,1)TimeDifference.between(start_time,end_time).in_years=>1.0TimeDifference.between(start_time,end_time).in_months=>12.0TimeDifference.between(start_time,end_time).in_weeks=>52.14TimeDifference.between(start_time,end_time).in_days=>365.0TimeDifference.between(start_time,end_time).in_hours=>8760.0TimeDifference.between(start_time,end_time).in_minutes=>525600.0TimeDifference.between(start_time,end_time).in_seconds=>31536000.0start_time=Time.new(2013,1)end_time=Time.new(2014,1)TimeDifference.between(start_time,end_time).in_each_component=>{:years=>1.0,:months=>12.0,:weeks=>52.14,:days=>365.0,:hours=>8760.0,:minutes=>525600.0,:seconds=>31536000.0}start_time=Time.new(2013,1)end_time=Time.new(2014,1)TimeDifference.between(start_time,end_time).in_general=>{:years=>0,:months=>12,:weeks=>0,:days=>5,:hours=>0,:minutes=>0,:seconds=>0}start_time=Time.new(2013,1)end_time=Time.new(2014,1)TimeDifference.between(start_time,end_time).humanize=>"12 Months and 5 Days"- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Added some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request
