@samso,
danke für deine Erklärungen nebst Codebeispiel!
Allerdings bekam ich mit deiner Funktion das Jahr 1899 heraus. Das Datum der Datei war in meinem Testfall der 01.01.1979.
Ich habe es nun folgendermaßen gelöst:
Delphi-Quellcode:
function GetFileDate(TheFileName: string): TDateTime;
var
SR: TSearchRec;
SystemTime: TSystemTime;
NewLastAccessTime: TFileTime;
begin
Result := 0;
try
if FindFirst(TheFileName, faAnyFile, SR) = 0 then try
if (Windows.FileTimeToLocalFiletime(SR.FindData.ftLastWriteTime, NewLastAccessTime) and
Windows.FileTimeToSystemTime(NewLastAccessTime, SystemTime)) then
Result := Encodedate(SystemTime.wYear,
SystemTime.wMonth,
SystemTime.wDay) +
Encodetime(SystemTime.wHour,
SystemTime.wMinute,
SystemTime.wSecond,
SystemTime.wMilliseconds);
finally
SysUtils.FindClose(SR)
end;
end;
@Blup,
danke für den Hinweis.
Wenn in der Delphi-Hilfe bei der Funktionserklärung von
FileAge() oder
FileGetDate() jeweils dein Hinweis oder ein Verweis auf das Thema "Format Zeitstempel" stehen würde..., ja das wäre dann eine Hilfe.