Signatur
Beschreibung
date_timestamp_get() ist der prozedurale Stil des Aufrufs DateTime::getTimestamp() bzw. DateTimeImmutable::getTimestamp(). Die Funktion liefert die Anzahl der Sekunden seit dem Unix-Epoch (1. Januar 1970, 00:00:00 UTC) für das übergebene Datums-/Zeit-Objekt.
Sie ist besonders nützlich, wenn man in einem prozeduralen Code-Stil arbeitet und einen DateTimeInterface-Wert in einen einfachen Integer-Zeitstempel umwandeln möchte, etwa um Zeitdifferenzen zu berechnen, Zeitpunkte zu vergleichen oder den Wert in einer Datenbank zu speichern.
Der Rückgabewert kann negativ sein, wenn das Datum vor dem 1. Januar 1970 liegt. Für Zeitstempel außerhalb des 32-Bit-Integer-Bereichs liefert PHP auf 64-Bit-Systemen korrekte 64-Bit-Integer-Werte, sodass kein Jahr-2038-Problem besteht.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $object Pflicht | DateTimeInterface | Ein DateTime- oder DateTimeImmutable-Objekt, dessen Unix-Zeitstempel ermittelt werden soll. |
Rückgabewert
Beispiele
Aktuellen Unix-Zeitstempel aus einem DateTime-Objekt ermitteln
<?php
$dt = new DateTime('2024-06-15 12:00:00', new DateTimeZone('UTC'));
$timestamp = date_timestamp_get($dt);
echo $timestamp;
// Ausgabe: 1718452800
Zeitdifferenz zwischen zwei Daten in Sekunden berechnen
<?php
$start = date_create('2024-01-01 00:00:00', new DateTimeZone('UTC'));
$end = date_create('2024-01-08 00:00:00', new DateTimeZone('UTC'));
$diffSekunden = date_timestamp_get($end) - date_timestamp_get($start);
$diffTage = $diffSekunden / 86400;
echo "Differenz: {$diffTage} Tage";
// Ausgabe: Differenz: 7 Tage
Datum vor dem Unix-Epoch (negativer Zeitstempel)
<?php
$dt = new DateTimeImmutable('1960-01-01 00:00:00', new DateTimeZone('UTC'));
$timestamp = date_timestamp_get($dt);
echo $timestamp;
// Ausgabe: -315619200
// Wichtig · Fallstricke
Zeitzonenbeachtung: Der zurückgegebene Unix-Zeitstempel ist immer UTC-basiert, unabhängig von der im Objekt gesetzten Zeitzone. Der Zeitstempel beschreibt denselben absoluten Moment in der Zeit, lediglich die Darstellung ändert sich je nach Zeitzone.
Objektorientierter Stil: Alternativ kann direkt die Methode $dt->getTimestamp() aufgerufen werden — beide Varianten sind funktional identisch. date_timestamp_get() ist der prozedurale Wrapper.
64-Bit-Systeme: Auf 64-Bit-Plattformen ist kein Year-2038-Problem vorhanden, da PHP native 64-Bit-Integer verwendet. Auf 32-Bit-Systemen gilt weiterhin der bekannte Wertebereich bis 2038.