Stefano Bortolotti wrote: > I have tried this: >>> t = Time.now > => Thu Mar 13 12:57:47 +0100 2008 >>> t1 = Time.now + 1.hours > => Thu Mar 13 13:58:03 +0100 2008 >>> t2 = t1 - t > => 3615.968256 >>> tot = Time.at(t2) > => Thu Jan 01 02:00:15 +0100 1970 > > but I don't know why the difference between t1 e t is 2 hours and not 1 > hour? a Time object doesn't represent a duration (2 hours) it represents a point in time (Jan 1st 1970, 2am). There's no standard Ruby object representing a time duration, but it seems that a Float (number of seconds) is good enough. you can always do (num_of_seconds / 1.hour) to give you a fractional number of hours etc. Gareth