時間の差から簡単に単位変換できるライブラリDateTime::Smartをリリースしました
この前、誕生日を迎えたのですが、自分が何歳になったのかいまいち思い出せなくて、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
でインストールできます。
date_time-smartとdate_time-durationに分かれていますが、今になってからほとんど依存しているのでdate_time-durationをdate_time-smartに含めれば良かったかなと少し思ってます。
開発はCodeReposで行ってますので、
http://coderepos.org/share/browser/lang/ruby/date_time-smart
何かいいアイディアがあれば入れてみていただけると幸いです。