MICROTIME(3) 1 MICROTIME(3)
microtime - Return current Unix timestamp with microseconds
SYNOPSIS
mixed microtime ([bool $get_as_float = false])
DESCRIPTION
microtime(3) returns the current Unix timestamp with microseconds. This function is only available on operating systems that support the
gettimeofday() system call.
PARAMETERS
o $get_as_float
- If used and set to TRUE, microtime(3) will return a float instead of a string, as described in the return values section below.
RETURN VALUES
By default, microtime(3) 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.
If $get_as_float is set to TRUE, then microtime(3) returns a float, which represents the current time in seconds since the Unix epoch
accurate to the nearest microsecond.
EXAMPLES
Example #1
Timing script execution with microtime(3)
<?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
";
?>
Example #2
Timing script execution in 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
";
?>
Example #3
microtime(3) and REQUEST_TIME_FLOAT (as of 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
";
?>
SEE ALSO
time(3).
PHP Documentation Group MICROTIME(3)