(PHP 4, PHP 5, PHP 7, PHP 8)
microtime — Devuelve la fecha Unix actual con microsegundos
microtime() devuelve la fecha Unix actual con microsegundos. Esta función sólo está disponible en sistemas operativos que soportan la llamada al sistema de gettimeofday().
Por omisión, microtime() devuelve un string en
la forma "mseg seg", donde seg
es el número de segundos
desde la época Unix (0:00:00 January 1, 1970 GMT), y msec
es el número de microsegundos que han transcurrido desde sec
,
expresado en segundos.
Si get_as_float
está establecido a true
,
microtime() devuelve un float, que
representa el momento actual en segundos desde la época Unix con precisión al
microsegundo más cercano.
Ejemplo #1 Ejecución de un script de cronometraje con microtime()
<?php
/**
* Función sencilla para repetir el comportamiento de PHP 5
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Dormir por un momento
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "No se hizo nada en $time segundos\n";
?>
Ejemplo #2 Ejecución de un script de cronometraje en PHP 5
<?php
$time_start = microtime(true);
// Dormir por un momento
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "No se hizo nada en $time segundos\n";
?>
Ejemplo #3 microtime() y REQUEST_TIME_FLOAT
(desde PHP 5.4.0)
<?php
// Tiempo de espera aleatorio
usleep(mt_rand(100, 10000));
// A partir de PHP 5.4.0, REQUEST_TIME_FLOAT está disponible en el array superglobal $_SERVER
// Contiene la fecha Unix en la que se realizó la petición con precisión de milisegundos.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "No se hizo nada en $time segundos\n";
?>