Ruby prend en charge l'arithmétique des dates dans les classes Date et DateTime , qui font partie de la bibliothèque standard de Ruby. Ces deux classes exposent les méthodes # + et # - , qui ajoutent et soustraient des jours à une date ou à une heure.
$ 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"
Utilisez les méthodes # << et # >> pour opérer sur des mois plutôt que sur des jours. L'arithmétique sur les mois est un peu différente de l'arithmétique sur les jours. L'utilisation de Date au lieu de DateTime rend l'effet plus évident.
> (Date.new(2015, 5, 31) << 3).to_s # May 31 - 3 months; 92 days diff
=> "2015-02-28"
En suivant votre exemple joda-time, vous pourriez écrire quelque chose comme ça en Ruby.
now = DateTime.now
ninety_days_ago = now - 90
ou peut-être juste
ninety_days_ago = DateTime.now - 90