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 = Фиксированное число
more_time.class = Фиксированное число
ruby_time.rb:11:in `+': time + 788400000.000000 вне диапазона времени (RangeError) из ruby_time.rb:11
Я столкнулся с проблемой 2038 года? У меня нет этой проблемы с 64-битным рубином 1.9.2-p290.