Ruby поддерживает арифметику даты в классах Date и DateTime , которые являются частью стандартной библиотеки Ruby. Оба этих класса предоставляют методы # + и # - , которые складывают и вычитают дни из даты или времени.
$ irb
> require 'date'
=> true
> (DateTime.new(2015,4,1) - 90).to_s # Apr 1, 2015 - 90 days
=> "2015-01-01T00:00:00+00:00"
> (DateTime.new(2015,4,1) - 1).to_s # Apr 1, 2015 - 1 day
=> "2015-03-31T00:00:00+00:00"
Используйте методы # << </a> и # >> для работы с месяцами, а не с днями. Арифметика по месяцам немного отличается от арифметики по дням. Использование Date вместо DateTime делает эффект более очевидным.
> (Date.new(2015, 5, 31) << 3).to_s # May 31 - 3 months; 92 days diff
=> "2015-02-28"
Следуя примеру joda-time, вы можете написать что-то подобное в Ruby.
now = DateTime.now
ninety_days_ago = now - 90
или, может быть, просто
ninety_days_ago = DateTime.now - 90