Greg Lorriman scribbled on Wednesday 15 Mar 2006 12:55: > I am trying to efficiently get the date part of a Time object. > > To remove the time part of the Time object I subtract the modulo of a > day-in-seconds. But if I do this I get a Time object of the date *plus > 1 hour*!!! Perhaps I'm just tired, but I don;t understand why. > > ie : > > DAY_IN_SECS=60*60*24; > t=Time.parse("20-Oct-2005 04:04:00") > datePart=t-t.to_f.modulo(DAY_IN_SECS); > > (and I might apply Time.at to get a Time object rather than a float.) > > However, the result of the above is > > 20-Oct-2005 01:00:00 > > instead of > > 20-Oct-2005 00:00:00 > > Anyone got any ideas? > > Greg irb(main):001:0> t = Time.now; t - t.sec - 60 * t.min - 3600 * t.hour => Wed Mar 15 00:00:00 CET 2006