Für derartige Fälle hab ich mir vor einiger Zeit entsprechende Hilfsfunktionen gebaut:
Delphi-Quellcode:
function FileTimeToLocalDateTime(const FileTime: TFileTime): TDateTime;
var
ModifiedTime: TFileTime;
SystemTime: TSystemTime;
begin
Result:= 0;
if FileTimeToLocalFileTime(FileTime, ModifiedTime) then
if FileTimeToSystemTime(ModifiedTime, SystemTime) then
Result:= SystemTimeToDateTime(SystemTime);
end;
function UTCFileTimeToLocalDateTime(const FileTime: TFileTime): TDateTime;
var
UTCSystemTime, LocalSystemTime : TSystemTime;
begin
Result:= 0;
if FileTimeToSystemTime(FileTime, UTCSystemTime) then
if SystemTimeToTzSpecificLocalTime(nil, UTCSystemTime, LocalSystemTime) then
Result:= SystemTimeToDateTime(LocalSystemTime);
end;
OK, eigentlich müsste man bei Fehlschlagen der
API-Funktionen Exceptions auslösen, damit man weiß, wo's klemmt.
Grüße
Dalai