diff --git a/rtl/objpas/sysutils/dati.inc b/rtl/objpas/sysutils/dati.inc index ef187dfb14..2fdf8313dc 100644 --- a/rtl/objpas/sysutils/dati.inc +++ b/rtl/objpas/sysutils/dati.inc @@ -216,8 +216,9 @@ end; procedure DateTimeToSystemTime(DateTime: TDateTime; out SystemTime: TSystemTime); begin - DecodeDate(DateTime, SystemTime.Year, SystemTime.Month, SystemTime.Day); + DecodeDateFully(DateTime, SystemTime.Year, SystemTime.Month, SystemTime.Day,SystemTime.DayOfWeek); DecodeTime(DateTime, SystemTime.Hour, SystemTime.Minute, SystemTime.Second, SystemTime.MilliSecond); + Dec(SystemTime.DayOfWeek); end ; { SystemTimeToDateTime converts SystemTime to a TDateTime value } diff --git a/rtl/objpas/sysutils/datih.inc b/rtl/objpas/sysutils/datih.inc index 12f3bf07a5..151b43bcb2 100644 --- a/rtl/objpas/sysutils/datih.inc +++ b/rtl/objpas/sysutils/datih.inc @@ -93,7 +93,7 @@ type {$if not(defined(windows)) and not(defined(win32))} { Win32 reuses the struct from the Windows unit } TSystemTime = record - Year, Month, Day: word; + Year, Month, Day, DayOfWeek: word; Hour, Minute, Second, MilliSecond: word; end ; {$endif windows}