Карта сайтаСсылкиКонтакты

Хостинг


Преобразование Микросекунд в значение TDateTime

PDF Печать
Статьи

Функция FormatDateTime преобразовывает значение TDateTime в строковое значение. При использовании параметров форматирования можно задать способ отображения времени с точностью до миллисекунд.

При тестировании скорости выполнения кода или когда у Вас есть долго выполняющиеся функции, Вам нужно отобразить длительность выполнения процесса вплоть до микросекунд.

Пользовательский класс TStopWatch может быть использован для измерения скорости выполнения, где необходима точность в микросекундах, или даже в наносекундах.

Примечание: Здесь 1000 микросекунд в одной миллисекунде и 1000 наносекунд в одну микросекунду.

Микросекунды в FormatDateTime

Вот пользовательская функция MicrosecondsToTime, которую Вы можете использовать для преобразования микросекунд в значение TDateTime, а затем для преобразования в более удобное для пользователей представление с помощью функции FormatDateTime:


uses DateUtils;

function MicrosecondsToTime(
       const microSeconds : TLargeInteger) : string;
const
   MicroPerMilli = 1000;
var
   dt : TDateTime;
   microSec : TLargeInteger;
begin
   dt := microSeconds / MicroPerMilli / MSecsPerSec / SecsPerDay;

   microSec := microseconds - MicroPerMilli * MilliSecondOf(dt) ;

   if microsec < 0 then
   begin
     dt := IncMilliSecond(dt,-1) ;
     microsec := MicroPerMilli + microsec;
   end;

   result := Format('%d days, %s %d', FormatDateTime[(
         'hh:nn:ss.z', Frac(dt)), microSec]) ;
end;

Примечание: Если у Вас имеются миллисекунды, а Вам нужно значение TDateTime - преобразуйте миллисекунды в Days и Time.


 

Комментарии   

 
0 #1 student education 09.04.2017 12:01
I'm not sure exactly why but this weblog is loading very slow for me.
Is anyone else having this issue or is it a issue on my end?
I'll check back later on and see if the problem still exists.
Цитировать
 

Добавить комментарий


Защитный код
Обновить