Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.07;
Скачать: CL | DM;

Вниз

Перевод 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 вся ветка

Текущий архив: 2006.05.07;
Скачать: CL | DM;

Наверх




Память: 0.44 MB
Время: 0.009 c
3-1142226823
Chel
2006-03-13 08:13
2006.05.07
Поиск в списочных компонентах


3-1142349686
GERDA
2006-03-14 18:21
2006.05.07
ORA 9.2 BLOB->CLOB


4-1139768906
zaN0za
2006-02-12 21:28
2006.05.07
Реестр Windows


3-1142264205
Ega23
2006-03-13 18:36
2006.05.07
Размер таблицы в памяти


2-1144903632
paul_k
2006-04-13 08:47
2006.05.07
Не могу понять. Или у меня руки кривые или одно из двух.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский