ソースを参照

* fix for 17123, rounding issues decodedatetime

git-svn-id: trunk@15804 -
marco 15 年 前
コミット
d39c2ed039
1 ファイル変更7 行追加1 行削除
  1. 7 1
      rtl/objpas/dateutil.inc

+ 7 - 1
rtl/objpas/dateutil.inc

@@ -1530,8 +1530,14 @@ end;
 
 Procedure DecodeDateTime(const AValue: TDateTime; out AYear, AMonth, ADay, AHour, AMinute, ASecond, AMilliSecond: Word);
 begin
-  DecodeDate(AValue,AYear,AMonth,ADay);
   DecodeTime(AValue,AHour,AMinute,ASecond,AMilliSecond);
+  if AHour=24 then // can happen due rounding issues mantis 17123
+    begin
+      AHour:=0; // rest is already zero
+      DecodeDate(round(AValue),AYear,AMonth,ADay);
+    end
+  else
+    DecodeDate(AValue,AYear,AMonth,ADay);
 end;