日付と日付を比較して、何ヶ月先なのかを計算したい
日付と日付を比較して、何ヶ月先なのかを計算したい。
def month_diff(a, b) return 0 if a == b greater_day = (a > b)? a: b less_day = (a > b)? b: a (1..12).each do |num| return num-1 if less_day+num.month >= greater_day end end puts '---- 0 ----' # 0 puts month_diff(Date.parse("2015-03-10"), Date.parse("2015-02-10")) puts month_diff(Date.parse("2015-03-10"), Date.parse("2015-02-11")) puts month_diff(Date.parse("2015-03-10"), Date.parse("2015-02-15")) puts '---- 1 ----' # 1 puts month_diff(Date.parse("2015-03-10"), Date.parse("2015-02-09")) puts month_diff(Date.parse("2015-04-10"), Date.parse("2015-02-10")) puts month_diff(Date.parse("2015-04-10"), Date.parse("2015-02-11")) puts month_diff(Date.parse("2015-04-10"), Date.parse("2015-02-15")) puts '---- 2 ----' # 2 puts month_diff(Date.parse("2015-04-10"), Date.parse("2015-02-09")) puts month_diff(Date.parse("2015-05-10"), Date.parse("2015-02-10")) puts month_diff(Date.parse("2015-05-10"), Date.parse("2015-02-11")) puts month_diff(Date.parse("2015-05-10"), Date.parse("2015-02-15"))