(PHP 4, PHP 5, PHP 7, PHP 8)

microtimeReturn current Unix timestamp with microseconds


microtime(bool $as_float = false): string|float

microtime() 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.



If used and set to true, microtime() will return a float instead of a string, as described in the return values section below.

Return Values

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

= microtime(true);

// Sleep for a while

$time_end = microtime(true);
$time = $time_end - $time_start;

"Did nothing in $time seconds\n";

Example #2 microtime() and REQUEST_TIME_FLOAT

// 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"];

"Did nothing in $time seconds\n";

See Also

  • time() - Return current Unix timestamp
  • hrtime() - Get the system's high resolution time

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top