# time_ago_in_words(Time.now, 1.day.ago) # => 1 day # time_ago_in_words(Time.now, 1.hour.ago) # => 1 hour def time_ago_in_words(t1, t2) s = t1.to_i - t2.to_i # distance between t1 and t2 in secondsresolution = if s > 29030400 # seconds in a year [(s/29030400), 'years'] elsif s > 2419200 [(s/2419200), 'months'] elsif s > 604800 [(s/604800), 'weeks'] elsif s > 86400 [(s/86400), 'days'] elsif s > 3600 # seconds in an hour [(s/3600), 'hours'] elsif s > 60 [(s/60), 'minutes'] else [s, 'seconds'] end # singular v. plural resolution if resolution[0] == 1 resolution.join(' ')[0...-1] else resolution.join(' ') end
end
Just finishing up brewing up some fresh ground comments...