五十嵐です。

Tadayoshi Funaba writes:
>Java の Calendar にはそういうのありますね。
>
>  date.add(Calendar.MONTH, 10);
>
>殆ど Java  をつかわないんで、よくしらないんですけど、1ヶ月足して、もう
>一度引いても同じ日になるとは限らないというものですね。

何に使うのかはともかくとして、n ヶ月後の Time を得るメソッドを
書いてみました。
個人的には妥当だと思っているのですが、どうでしょう?

引けないので、Javaのような問題もありません :-)

class Time
   def Time.addMonth(zero, n)
      aDay = 24 * 60 * 60
      m = zero.month + n
      y = zero.year + m / 12
      m %= 12
      t = Time.mktime(y, m, zero.day, 12, 0, 0)
      while t.month != m
	 t -= aDay
      end
      t = Time.mktime(t.year, t.month, t.day, zero.hour, zero.min, zero.sec)
      return t
   end
end

if __FILE__ == $0
   today = Time.now
   p today
   p Time.addMonth(today,24)
end