(PHP 4, PHP 5, PHP 7)
microtime — Gibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück
microtime() gibt den aktuellen Unix-Timestamp mit Mikrosekunden zurück. Diese Funktion steht nur auf Systemen zur Verfügung, die den Systemaufruf gettimeofday() unterstützen.
Standardmäßig gibt microtime() einen string im Format "Mikrosekunden Sekunden" zurück, wobei Sekunden die Sekunden seit Beginn der Unix Epoche (01. Januar 1970 00:00:00 GMT) sind und Mikrosekunden die Anzahl an Mikrosekunden misst, die seit Sekunden vergangen sind, was ebenso in Sekunden ausgedrückt wird.
Wenn get_as_float
TRUE
ist, gibt
microtime() stattdessen einen float
zurück, welcher die aktuelle Zeit in Sekunden seit Beginn der Unix
Epoche angibt (die Nachkommastellen geben die Mikrosekunden an).
Beispiel #1 Zeitmessung einer Skriptausführung mit microtime()
<?php
/**
* Einfache Funktion zum Replizieren des PHP 5-Verhaltens
*/
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Die Skriptverarbeitung fuer einen bestimmten Zeitraum unterbrechen
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "In $time Sekunden nichts getan\n";
?>
Beispiel #2 Zeitmessung einer Skriptausführung in PHP 5
<?php
$time_start = microtime(true);
// Die Skriptverarbeitung fuer einen bestimmten Zeitraum unterbrechen
usleep(100);
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "In $time Sekunden nichts getan\n";
?>
Beispiel #3 microtime() und REQUEST_TIME_FLOAT (ab PHP 5.4.0)
<?php
// zufällige Pausendauer
usleep(mt_rand(100, 10000));
// Ab PHP 5.4.0 ist REQUEST_TIME_FLOAT im superglobale $_SERVER Array verfügbar.
// Es enthält den Zeitstempel des Beginns des Request in Mikrosekunden-Auflösung.
$time = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
echo "Nichts getan in $time Sekunden\n";
?>