PHP-Unix-Timestamp-Snippets
PHP-Beispiele zum Holen von Unix-Sekunden, Erzeugen von Millisekunden, Formatieren von Timestamps, Umwandeln zwischen DateTime-Objekten und Parsen von Datums-Strings.
time()round(microtime(true) * 1000)date("Y-m-d H:i:s", 1700000000)date_default_timezone_set("America/New_York");
date("Y-m-d H:i:s", 1700000000);
// Or with DateTime:
$dt = new DateTime();
$dt->setTimestamp(1700000000);
$dt->setTimezone(new DateTimeZone("America/New_York"));
echo $dt->format("Y-m-d H:i:s");strtotime("2023-11-15 06:13:20 UTC")Grundlagen zu PHP-Zeitstempeln
PHPs time() gibt ganze Unix-Sekunden zurück. Verwende microtime(true), wenn du Sub-Sekunden-Präzision brauchst oder Unix-Millisekunden für JavaScript-orientierte APIs ableiten willst.
Daten in PHP formatieren
date() formatiert Zeitstempel in der Standard-Serverzeitzone, während gmdate() in UTC formatiert. Für explizite Zeitzonenarbeit verwende DateTime mit DateTimeZone, damit sich Deployments einheitlich verhalten.
Hinweise für den Produktiveinsatz von PHP
PHP-Anwendungen laufen oft auf Shared Hosting, in Containern oder Workern mit unterschiedlichen Standardzeitzonen. Behandle die Serverstandardeinstellung als Implementierungsdetail. Speichere Unix-Sekunden oder UTC-DateTime-Werte in persistenten Daten und wähle dann eine DateTimeZone an der Stelle, an der der Zeitstempel für einen Nutzer, Bericht oder eine Integration formatiert wird.
- Verwende time() für ganze Unix-Sekunden in Controllern, Jobs und einfachen Skripten
- Verwende microtime(true), wenn du Sekundenbruchteile oder Millisekundenpräzision brauchst
- Verwende gmdate() für stabile UTC-Formatierung, die die Serverzeitzone ignoriert
- Verwende DateTimeImmutable für Code, der ein Datum nicht versehentlich verändern soll
FAQ
- Enthält time() Millisekunden?
- Nein. time() gibt ganze Unix-Sekunden zurück. Verwende microtime(true), wenn du Sekundenbruchteile brauchst oder einen Millisekunden-Zeitstempel berechnen musst.
- Warum gmdate() statt date() verwenden?
- gmdate() formatiert den Zeitstempel in UTC. date() verwendet die konfigurierte Zeitzone des Servers, die sich zwischen lokaler Entwicklung, Containern und Produktions-Hosting ändern kann.
- Wie überprüfe ich eine PHP-Umrechnung?
- Wandle denselben Wert mit gmdate('c', $timestamp) um und vergleiche ihn dann mit einem unabhängigen Epoch-Konverter oder einer Datenbank-UTC-Funktion, bevor du ihn in einer Migration verwendest.