32 ビットの ruby 1.9.2p290 (これを使用する必要があります) は、現在の時刻に 25 (24 ではありません!) 年を追加するのに苦労しているようです。
now = Time.now
more_time = (24*365*24*60*60)
puts "more_time.class = #{more_time.class}"
later = now + more_time
now = Time.now
more_time = (25*365*24*60*60)
puts "more_time.class = #{more_time.class}"
later = now + more_time
プロデュース:
more_time.class = Fixnum
more_time.class = Fixnum
ruby_time.rb:11:in `+': time + 788400000.000000 out of Time range (RangeError) from ruby_time.rb:11
2038 年問題に遭遇していますか? 64 ビットの Ruby 1.9.2-p290 ではこの問題は発生しません。