Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie GetTimeOfday- und Datumsfunktionen, um die ausgebildete Ausgabe von Millisekunden zu implementieren

Verwenden Sie GetTimeOfday- und Datumsfunktionen, um die ausgebildete Ausgabe von Millisekunden zu implementieren

gitbox 2025-05-29

In PHP müssen wir oft die aktuelle Zeit erhalten und die Ausgabe formatieren. Die Standarddatumfunktion unterstützt nur Sekunden genau. In einigen Szenarien wie Protokollierung, Leistungsüberwachung usw. benötigen wir jedoch genau, um die Ausgangszeit für Millisekunden zu erhalten. In diesem Artikel wird vorgestellt, wie GetTimeOfday- und Datumsfunktionen kombiniert werden können, um die Ausgabe von Zeitformat mit Millisekunden zu erzielen.


1. Einführung in die GetTimeOfday -Funktion

GetTimeOfday ist eine Funktion, die die aktuelle Zeit erhält und die aktuellen Informationen zur Unix -Zeitstempel und der Mikrosekunde zurückgibt. Der Rückgabewert kann ein Array oder eine schwimmende Punktzahl sein, die Sekunden und Mikrosekunden enthält.

 print_r(gettimeofday());

Ausgangsbeispiel:

 Array
(
    [sec] => 1617181723
    [usec] => 123456
    [minuteswest] => 0
    [dsttime] => 0
)

Hier ist SEC die aktuelle Anzahl von Sekunden, und USEC sind die Mikrosekunden innerhalb der aktuellen Anzahl von Sekunden.

2. Kombinieren Sie Datum und GetTimeofday , um die Ausgabe des Millisekundenformates zu erzielen

Die Datumsfunktion von PHP kann Sekunden -Zeitstempel formatieren, während der Millisekundenteil über die GetTimeOfday -Funktion erhalten werden kann. Hier ist ein einfacher Beispielcode:

 <?php
$time = gettimeofday();
$sec = $time['sec'];      // Anzahl der Sekunden
$usec = $time['usec'];    // 微Anzahl der Sekunden
$milliseconds = floor($usec / 1000); // Mikrosekunden in Millisekunden umwandeln

// Formatieren Sie die Zeitzeichenfolge
$formattedTime = date('Y-m-d H:i:s', $sec) . '.' . str_pad($milliseconds, 3, '0', STR_PAD_LEFT);

echo $formattedTime;
?>

Beispielausgabeergebnis:

 2025-05-24 15:43:12.123

Hier wird Str_pad verwendet, um sicherzustellen, dass die Millisekunden immer 3 Ziffern sind, z. B. das Hinzufügen von Nullen vor weniger als 3 Ziffern.

Ne. detaillierter Code Erläuterung

  • GetTimeOfday () gibt die Sekunden und Mikrosekunden der aktuellen Zeit zurück.

  • Formatieren Sie die Anzahl der Sekunden mit Datum ('YMD H: i: S', $ Sec) .

  • Umwandeln Sie die Mikrosekunden in Millisekunden, indem Sie durch 1000 dividieren.

  • Verwenden Sie Str_pad, um sicherzustellen, dass der Millisekundenteil dreistellige Ziffern ist.

4.. In Funktionen eingekapselt

Um Multiplexing zu bequem zu machen, können wir es in eine Funktion einkapseln:

 <?php
function getCurrentTimeWithMilliseconds() {
    $time = gettimeofday();
    $sec = $time['sec'];
    $usec = $time['usec'];
    $milliseconds = floor($usec / 1000);
    return date('Y-m-d H:i:s', $sec) . '.' . str_pad($milliseconds, 3, '0', STR_PAD_LEFT);
}

// Beispiel für die Nutzung
echo getCurrentTimeWithMilliseconds();
?>

Rufen Sie GetCurrentTimewithMilliseconds () an, um eine Zeitzeichenfolge mit Millisekunden zu erhalten.


Zusammenfassen

Durch die Kombination von GetTimeOfday- und Datumsfunktionen kann die Zeitformatausgabe in PHP mit Millisekunden problemlos implementiert werden. Diese Methode beruht nicht auf zusätzliche Erweiterungen und ist kompatibel und eignet sich für Szenarien, in denen genaue Zeitstempel erforderlich sind.


 <?php
function getCurrentTimeWithMilliseconds() {
    $time = gettimeofday();
    $sec = $time['sec'];
    $usec = $time['usec'];
    $milliseconds = floor($usec / 1000);
    return date('Y-m-d H:i:s', $sec) . '.' . str_pad($milliseconds, 3, '0', STR_PAD_LEFT);
}

echo getCurrentTimeWithMilliseconds();
?>