소스 검색

* 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;