(PHP 4, PHP 5, PHP 7)
microtime — Retorna um timestamp Unix em microsegundos
A função microtime() retorna o timestamp atual em microssegundos. Esta função está disponível apenas em sistemas operacionais que suportam o chamada de sistema gettimeofday().
Por padrão, a função microtime() retorna uma string no formato "msec sec", onde sec é o número de segundos desde a Unix epoch (0:00:00 January 1,1970 GMT), e msec mensura os microssegundos que se passaram desde sec e também é expressada em segundos.
Se o parâmetro opcional get_as_float
for definido para TRUE
então a função microtime() retornará um float, que
representa a hora atual em segundos desde Unix epoch com precisão
de microssegundos.
Exemplo #1 Cronometrando a execução do script com microtime()
<?php
/**
* Simple function to replicate PHP 5 behaviour
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Sleep for a while
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";
?>
Exemplo #2 Cronometrando a execução do script no PHP 5
<?php
$time_start = microtime(true);
// Sleep for a while
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "Did nothing in $time seconds\n";
?>
Exemplo #3 microtime() e REQUEST_TIME_FLOAT (a partir do PHP 5.4.0)
<?php
// Randomize sleeping time
usleep(mt_rand(100, 10000));
// As of PHP 5.4.0, REQUEST_TIME_FLOAT is available in the $_SERVER superglobal array.
// It contains the timestamp of the start of the request with microsecond precision.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Did nothing in $time seconds\n";
?>