sessanの日記

主に開発技術関連でお勉強したことをまとめていくサイトです。

RailsでDate型日付の差分を求める

ActiveSupportが使える環境では、日付の計算がすごく楽。
日付の差分を計算するときは以下のようにする

ruby-1.9.2-p290 :001 > today = Date.today
 => Thu, 02 Aug 2012 
ruby-1.9.2-p290 :002 > tomorrow = Date.today + 1
 => Fri, 03 Aug 2012 
ruby-1.9.2-p290 :003 > tomorrow - today
 => (1/1) 
ruby-1.9.2-p290 :004 > dif = tomorrow - today
 => (1/1) 
ruby-1.9.2-p290 :005 > dif.class
 => Rational
ruby-1.9.2-p290 :007 > dif.to_i
 => 1 

差分がRational型で返ってくるので、to_iとかしてしまうと楽。