Я пытаюсь получить те же даты создания, доступа и изменения, что и в свойствах windows:
Но обнаруживаю, что время постоянно отклоняется на 30 минут:
Полагаю, что это может быть связано с часовыми поясами/переходом на летнее время, но не смог найти решение. Пробовал посмотреть: TimeZone Bias и корректировка, а также рассматривал различные методы, включая: Как получить дату создания/последнего изменения файла в Delphi?
Текущий код:
var
MyFd TWin32FindData;
FName: string;
MyTime: TFileTime;
MySysTime: TSystemTime;
myDate, CreateTime, AccessTime, ModTime: TDateTime;
Begin
...
FindFirstFile(PChar(FName), MyFd);
MyTime:=MyFd.ftCreationTime;
FileTimeToSystemTime(MyTime, MySysTime);
myDate := EncodeDateTime(MySysTime.wYear, MySysTime.wMonth, MySysTime.wDay, MySysTime.wHour,
MySysTime.wMinute, MySysTime.wSecond, MySysTime.wMilliseconds);
Memo1.Lines.Add('Created: '+ FormatDateTime('dddd, d mmmm yyyy, hh:mm:ss ampm', MyDate));
...
Любая помощь приветствуется
Спасибо. Paul