Getting creation, modified & accessed date time of a file

Posted on 1245329699|%e %b %Y, %H:%M %Z|agohover under code delphi windows

Here is the code snippet to get hold of various date-time values associated with a file in windows:

procedure GetDateTime (fileFullName: string);
var
  systemTime: TSystemTime;
  lastModified, lastAccessed, firstCreated, lastWrite: TDateTime;
  sr : TSearchRec;
begin
  lastModified := 0;
  lastAccessed := 0;
  firstCreated := 0;
  lastWrite := 0;

  if sysUtils.FindFirst(fileFullName, faAnyFile, sr) = 0 then
  begin
    try
      lastModified := FileDateToDateTime(sr.Time);

      FileTimeToSystemTime(sr.FindData.ftCreationTime, systemTime) ;
      with systemTime do
        firstCreated := EncodeDateTime (wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds) ;

      FileTimeToSystemTime(sr.FindData.ftLastAccessTime, systemTime) ;
      with systemTime do
        lastAccessed := EncodeDateTime (wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds) ;

      FileTimeToSystemTime(sr.FindData.ftLastWriteTime, systemTime) ;
      with systemTime do
        lastWrite := EncodeDateTime (wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds) ;

      memo.Lines.Add ('Last modified: ' + DateTimeToStr (lastModified));
      memo.Lines.Add ('Created: ' + DateTimeToStr (firstCreated));
      memo.Lines.Add ('Last access: ' + DateTimeToStr (lastAccessed));
      memo.Lines.Add ('Last write: ' + DateTimeToStr (lastWrite));
    finally
      FindClose(sr) ;
    end
  end;
end;
rating: 0+x
Add a New Comment
or Sign in as Wikidot user
(will not be published)
- +