microtime

(PHP 4, PHP 5, PHP 7)

microtimeGibt den aktuellen Unix-Timestamp/Zeitstempel mit Mikrosekunden zurück

Beschreibung

microtime ([ bool $get_as_float = FALSE ] ) : mixed

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.

Parameter-Liste

get_as_float

Wenn auf TRUE gesetzt, gibt microtime() einen float anstatt einem string zurück, wie in der Rückgabewert-Sektion unten genauer erläutert wird.

Rückgabewerte

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

Beispiele

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(10010000));

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

Siehe auch

  • time() - Gibt den aktuellen Unix-Timestamp/Zeitstempel zurück