Find number of months between two Dates in Ruby on Rails

(date2.year * 12 + date2.month) - (date1.year * 12 + date1.month)

more info at http://www.ruby-forum.com/topic/72120


A more accurate answer would consider days in the distance.

For example, if you consider that the month-distance from 28/4/2000 and 1/5/2000 is 0 rather than 1, then you can use:

(date2.year - date1.year) * 12 + date2.month - date1.month - (date2.day >= date1.day ? 0 : 1)

Give a try to

((date2.to_time - date1.to_time)/1.month.second).to_i

Assuming both are dates: ((date2 - date1).to_f / 365 * 12).round simple.