From: Ehsanul Hoque Date: 2009-11-05T19:24:51+09:00 Subject: Re: Can Ruby print out time difference (duration) readily? --_778897c3-bc4d-49b9-b2f3-70e1e279e603_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable > Can Ruby do something like this? >=20 > irb(main):001:0> start =3D Time.now > =3D> Thu Nov 05 01:02:54 -0800 2009 >=20 > irb(main):002:0> Time.now - start > =3D> 25.239 >=20 > irb(main):003:0> (Time.now - start).duration > =3D> "25 seconds" > and similarly=2C report >=20 > 23 minutes and 35 seconds > 1 hour and 33 minutes > 2 days and 3 hours > (either report the whole duration=2C up to how many seconds=2C or report = up > to 2 numbers and units (if day and hour is reported=2C then no need to > tell how many minutes) You can try something like below (change with conditional statements to fit= your requirements of upto 2 numbers): class Time def duration Time.now - self end def duration_string difference =3D duration days =3D (difference/(3600*24)).to_i hours =3D ((difference%(3600*24))/3600).to_i mins =3D ((difference%(3600))/60).to_i secs =3D (difference%60).to_i "#{days} days=2C #{hours} hours=2C #{mins} minutes and #{secs} seconds" end end start =3D Time.new sleep(5) puts start.duration_string =20 _________________________________________________________________ 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_--