この前、誕生日を迎えたのですが、自分が何歳になったのかいまいち思い出せなくて、rubyで計算させようとしたのですが、時刻の差から年を出すのはそれほど簡単ではなかったので、ライブラリにしました。 なにやらruby-listでもちょうどその話題があがっていたようです。 こんな風に使えます。 require 'date' require 'date_time/duration' require 'date_time/smart' today = DateTime::Smart.today birth = DateTime::Smart.new(1984,12,26) (today - birth).years #=> 23 # 三日前の日付をつくる DateTime::Smart.today.subtract(:days => 3) gem install date_time-smart -yで