Ruby mendukung aritmatika tanggal di kelas Date dan DateTime , yang merupakan bagian dari pustaka standar Ruby. Kedua kelas tersebut mengekspos # + dan # - metode, yang menambah dan mengurangi hari dari tanggal atau waktu.
$ 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"
Gunakan metode # << dan # >> untuk beroperasi pada bulan, bukan hari. Aritmatika pada bulan sedikit berbeda dengan aritmatika pada hari. Menggunakan Date daripada DateTime membuat efeknya lebih jelas.
> (Date.new(2015, 5, 31) << 3).to_s
=> "2015-02-28"
Mengikuti contoh joda-time Anda, Anda mungkin menulis sesuatu seperti ini di Ruby.
now = DateTime.now
ninety_days_ago = now - 90
atau mungkin saja
ninety_days_ago = DateTime.now - 90