(PHP 4, PHP 5, PHP 7, PHP 8)
microtime — Return current Unix timestamp with microseconds
$as_float
= false
): string|floatmicrotime() returns the current Unix timestamp with microseconds. This function is only available on operating systems that support the gettimeofday() system call.
For performance measurements, using hrtime() is recommended.
as_float
If used and set to true
, microtime() will return a
float instead of a string, as described in
the return values section below.
By default, microtime() returns a string in
the form "msec sec", where sec
is the number of seconds
since the Unix epoch (0:00:00 January 1,1970 GMT), and msec
measures microseconds that have elapsed since sec
and is also expressed in seconds as a decimal fraction.
If as_float
is set to true
, then
microtime() returns a float, which
represents the current time in seconds since the Unix epoch accurate to the
nearest microsecond.
Example #1 Timing script execution
<?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";
?>
Example #2 microtime() and REQUEST_TIME_FLOAT
<?php
// Randomize sleeping time
usleep(mt_rand(100, 10000));
// 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";
?>