For me it works as expcted var t: TDateTime; i: integer; s1, s2, s3, s4 : String; begin t := StrToDate('30-12-1899'); i := round (t); s1 := DateTimeToStr(t); s2 := IntToStr(i); t := StrToDate('29-12-1899'); i := round (t); s3 := DateTimeToStr(t); s4 := IntToStr(i); Memo1.Lines.Add (s1 + ' ' + s2 + ' ' + s3 + ' ' + s4); provides 30-12-99 0 29-12-99 -1 -Michael