Форум: "WinAPI";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];
ВнизПеревод TFileTime в TDateTime Найти похожие ветки
← →
Nike (2006-02-15 12:22) [0]Привет всем! Подскажите, пожалуйста, как произвести преобразование переменной типа TFileTime в "более человечный" TDateTime. Я пользуюсь следующим вариантом, но мне он кажется "некрасивым" :)
//crTime - переменная TFileTime
//st - переменная TSystemTime
//dt - переменная TDateTime
FileTimeToLocalFileTime(crTime,usTime);
FileTimeToSystemTime(usTime,st);
dt:=SystemTimeToDateTime(st);
← →
Игорь Шевченко © (2006-02-15 12:49) [1]
> Я пользуюсь следующим вариантом, но мне он кажется "некрасивым"
Да вроде трудно другой вариант придумать.
← →
GuAV © (2006-02-16 02:25) [2]Другой вариант, ещё менее красивый, т.к. использует информацию о структуре FILETIME
var
FT, LFT: TFileTime;
Result: TDateTime;
HundredNanoSecondsPassedSince1601: Int64 absolute LFT;
begin
GetSystemTimeAsFileTime(FT);
FileTimeToLocalFileTime(FT, LFT);
Result := -109205; // StrToDateTime("1.01.1601");
Result := Result + (HundredNanoSecondsPassedSince1601 / 10 / 1000 / MSecsPerDay);
← →
AbrosimovA (2006-02-16 11:20) [3]
function FileTimeToDateTime(const FileTime: _FILETIME): TDATETIME;
var LocalFileTime: TFileTime;
Age : integer;
begin
FileTimeToLocalFileTime(FileTime,LocalFileTime);
if FileTimeToDosDateTime(LocalFileTime, LongRec(Age).Hi,
LongRec(Age).Lo) then
begin
Result := FileDateToDateTime(Age);
Exit;
end;
Result := -1;
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.01 c