Das stimmt spätestens nach der nächsten Zeitumstellung nicht mehr.
In der
Unit System.DateUtils steckt die Klasse TTimeZone
Nicht in Delphi6. Da gibts gar nichts zu Zone.
Delphi-Quellcode:
unixT1 := 1602679692;
timeBegin := UnixToDateTime(unixT1);
DateTimeToSystemTime(timeBegin, dSysTime);
Funktioniert leider nicht
Hab eine Lösung
hier gefunden. Ist zwar für Delphi > 6, aber es funktioniert!
Delphi-Quellcode:
function LocalDateTimeFromUTCDateTime(const UTCDateTime: TDateTime): TDateTime;
var
LocalSystemTime: TSystemTime;
UTCSystemTime: TSystemTime;
LocalFileTime: TFileTime;
UTCFileTime: TFileTime;
begin
DateTimeToSystemTime(UTCDateTime, UTCSystemTime);
SystemTimeToFileTime(UTCSystemTime, UTCFileTime);
if FileTimeToLocalFileTime(UTCFileTime, LocalFileTime)
and FileTimeToSystemTime(LocalFileTime, LocalSystemTime) then begin
Result := SystemTimeToDateTime(LocalSystemTime);
end else begin
Result := UTCDateTime; // Default to UTC if any conversion function fails.
end;
end;