A date time is store as a floating point number, but around 0, there is
something different than the way floating point numbers work.
? Format( -0.25, "long date"), Format( -0.25, "long time")
Saturday, 30 December, 1899 06:00:00
? Format( 0.25, "long date"), Format( 0.25, "long time")
Saturday, 30 December, 1899 06:00:00
So, note that both 0.25 and -0.25 return the same point in time! (even if
the value differ, ie, 0.25 <> -0.25 , if considered as floating point
number).
So, if you have to play with intervals (ie, with date_time values when the
integer part is zero or near zero), be sure to use DatePart and DateDiff,
which are aware of that particularity, rather than using plain arithmetic, +
and -, which behave as floating point number behave, NOT the way date and
time implementation behave.
Vanderghast, Access MVP