--_778897c3-bc4d-49b9-b2f3-70e1e279e603_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable > 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 > (either report the whole duration, up to how many seconds, or report up > to 2 numbers and units (if day and hour is reported, then no need to > tell how many minutes) You can try something like below (change with conditional statements to fitour requirements of upto 2 numbers): class Time def duration Time.now - self end def duration_string difference = duration days = (difference/(3600*24)).to_i hours = ((difference%(3600*24))/3600).to_i mins = ((difference%(3600))/60).to_i secs = (difference%60).to_i "#{days} days, #{hours} hours, #{mins} minutes and #{secs} seconds" end end start = Time.new sleep(5) puts start.duration_string _________________________________________________________________ Hotmail: Trusted email with Microsoft's powerful SPAM protection. http://clk.atdmt.com/GBL/go/177141664/direct/01/ http://clk.atdmt.com/GBL/go/177141664/direct/01/ --_778897c3-bc4d-49b9-b2f3-70e1e279e603_--