![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Текущее время
Влад © (2007-01-05 23:15:00)Как узнать текущее время с точностью до миллисекунд?
vertal (2007-01-06 02:59:00) [1]> palva © (06.01.07 01:52) [7]
Что характерно - сейчас проверил - GetSystemTimeAsFileTime работает с тем же дискретом (на моей машине - 10 мс), даром что дискрет формата возвращаемого значения - аж 100 наносекунд.
Хотя я думаю, что производительность процессора тут не при чем, а дело в системном таймере и способе обновления системного времени
palva (2007-01-06 01:52:00) [2]> Как узнать текущее время с точностью до миллисекунд?
На некоторых процессорах никак. Всего точнее использовать GetTickCount, но это значение не будет меняться с единичным шагом.
{$APPTYPE CONSOLE}
uses
Windows, SysUtils;
var
nn, dd, dif: DWORD;
begin
nn := 0;
dd := GetTickCount();
repeat
inc(nn);
dif := GetTickCount() - dd;
until dif > 0;
WriteLn(nn); // 246684
WriteLn(dif); // 16
end.
Ну вот, видно, что меняется с шагом 16, а у меня Pentium-4. На более слабых процессорах шаг будет еще больше.
trubin (2007-01-06 00:19:00) [3]
GetLocalTime
Его кстати и использует ф-яTime
kaZaNoVa (2007-01-05 23:55:00) [4]GetTickCount ?
Влад (2007-01-05 23:40:00) [5]Спасибо
try (2007-01-05 23:30:00) [6]*24*60*60*1000
Влад (2007-01-05 23:26:00) [7]А как его в миллисекунды переделать?
Плохиш (2007-01-05 23:16:00) [8]time