Kaynağa Gözat

* Changed DateTimeToTimestamp not to use Round()

git-svn-id: trunk@23337 -
michael 12 yıl önce
ebeveyn
işleme
7c8fcb63b7
1 değiştirilmiş dosya ile 6 ekleme ve 3 silme
  1. 6 3
      rtl/objpas/sysutils/dati.inc

+ 6 - 3
rtl/objpas/sysutils/dati.inc

@@ -55,11 +55,14 @@ function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
 
 Var
   D : Double;
-
 begin
   D:=DateTime * Single(MSecsPerDay);
-  result.Time := Abs(Round(D)) Mod MSecsPerDay;
-  result.Date := DateDelta + Round(D) div MSecsPerDay;
+  if D<0 then
+    D:=D-0.5
+  else
+    D:=D+0.5;
+  result.Time := Abs(Trunc(D)) Mod MSecsPerDay;
+  result.Date := DateDelta + Trunc(D) div MSecsPerDay;
 end;
 
 {   TimeStampToDateTime converts TimeStamp to a TDateTime value   }