Ruby , Ruby'nin standart kitaplığının bir parçası olan Date ve DateTime sınıflarında tarih aritmetiğini destekler . Bu sınıfların her ikisi de , bir tarihe veya saate gün ekleyen ve bunları çıkaran # + ve # - yöntemlerini ortaya çıkarır.
$ irb
> require 'date'
=> true
> (DateTime.new(2015,4,1) - 90).to_s
=> "2015-01-01T00:00:00+00:00"
> (DateTime.new(2015,4,1) - 1).to_s
=> "2015-03-31T00:00:00+00:00"
Günler yerine aylarda çalışmak için # << ve # >> yöntemlerini kullanın. Aylardaki aritmetik, günlerdeki aritmetikten biraz farklıdır. DateTime yerine Date kullanımı, etkiyi daha belirgin hale getirir.
> (Date.new(2015, 5, 31) << 3).to_s
=> "2015-02-28"
Joda-time örneğinizi takiben, Ruby'de buna benzer bir şey yazabilirsiniz.
now = DateTime.now
ninety_days_ago = now - 90
ya da belki sadece
ninety_days_ago = DateTime.now - 90