Rubyで2つの日付の差を調べて、何年何ヶ月開いているかを書いてみました
[code lang=ruby]
require "date" # — 1.
today = Date.today
someday = Date.new(2012, 10, 10)
today_months = today.year * 12 + today.month # — 2.
someday_months = someday.year * 12 + someday.month
months_diff = today_months – someday_months
year, month = months_diff.divmod(12) # — 3.
p "#{year}年#{month}ヶ月"
[/code]
- dateクラスは組み込みクラスでないので、require
- 日付から年も月数になおして、月数の合計を求めます
- divmodで割り算した商とあまりを変えします
こんな感じでした