On Nov 5, 2:09 ¨Âí¬ Êéáî Ìé¼âìõåóëùâòå®®®Àçíáéì®ãïí÷òïôåº
> Can Ruby do something like this?
>
> irb(main):001:0> start = Time.now
> => Thu Nov 05 01:02:54 -0800 2009
>
> irb(main):002:0> Time.now - start
> => 25.239
>
> irb(main):003:0> (Time.now - start).duration
> => "25 seconds"
> and similarly, report
>
> 23 minutes and 35 seconds
> 1 hour and 33 minutes
> 2 days and 3 hours

This old thread discusses a similar topic.
http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/e51d23dadacc03fa

Note that durations expressed in any unit greater than weeks (months,
years, etc.) are going to give you problems.