Browse Source

* Fix bug #27832

git-svn-id: trunk@30557 -
michael 10 years ago
parent
commit
56715d5d00
1 changed files with 6 additions and 1 deletions
  1. 6 1
      rtl/objpas/sysutils/dati.inc

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

@@ -61,8 +61,13 @@ begin
     D:=D-0.5
     D:=D-0.5
   else
   else
     D:=D+0.5;
     D:=D+0.5;
-  result.Time := Abs(Trunc(D)) Mod MSecsPerDay;
+  Result.Time := Abs(Trunc(D)) Mod MSecsPerDay;
   result.Date := DateDelta + Trunc(D) div MSecsPerDay;
   result.Date := DateDelta + Trunc(D) div MSecsPerDay;
+  if D<0 then
+    begin
+    Result.Time:=MSecsPerDay-Result.time;
+    Result.Date:=Result.Date-1;
+    end;
 end;
 end;
 
 
 {   TimeStampToDateTime converts TimeStamp to a TDateTime value   }
 {   TimeStampToDateTime converts TimeStamp to a TDateTime value   }