DateTime-Klasse
Die Klasse DateTime ist das Hauptwerkzeug für die Arbeit mit Datum und Zeit im OOP-Stil. Sie ermöglicht die Erstellung von Datums-/Zeitobjekten, deren Modifikation und die Formatierung der Ausgabe.
Aktueller Zeitpunkt
Lassen Sie uns ein DateTime-Objekt
mit dem aktuellen Datum und der aktuellen Uhrzeit erstellen:
<?php
$date = new DateTime();
?>
Bestimmtes Datum
Lassen Sie uns ein DateTime-Objekt mit einem bestimmten Datum erstellen:
<?php
$date = new DateTime('2025-12-31');
?>
Bestimmtes Datum und Uhrzeit
Lassen Sie uns ein DateTime-Objekt
mit einem bestimmten Datum und einer bestimmten Uhrzeit erstellen:
<?php
$date = new DateTime('2025-12-31 12:59:59');
?>
Formatierung der Ausgabe
Das erstellte Datum kann in einem bestimmten Format
mit der Methode format ausgegeben werden. Lassen Sie uns das
für den aktuellen Zeitpunkt tun:
<?php
$date = new DateTime();
echo $date->format('Y-m-d H:i:s');
?>
Ergebnis (ändert sich je nach Ausführungszeitpunkt):
'2025-11-15 14:25:00'
Formatierung eines bestimmten Datums
Lassen Sie uns ein bestimmtes Datum formatieren:
<?php
$date = new DateTime('2025-12-31');
echo $date->format('d.m.Y');
?>
Ergebnis der Codeausführung:
'31.12.2025'
Hinzufügen eines Intervalls
Das Hinzufügen eines Intervalls zu einem Datum
erfolgt über die Methode add:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P10D'); // 10 Tage
$date->add($interval);
echo $date->format('Y-m-d');
?>
Ergebnis der Codeausführung:
'2025-05-25'
Subtrahieren eines Intervalls
Das Subtrahieren eines Intervalls von einem Datum
erfolgt über die Methode sub:
<?php
$date = new DateTime('2025-05-15');
$interval = new DateInterval('P1M2D'); // 1 Monat und 2 Tage
$date->sub($interval);
echo $date->format('Y-m-d');
?>
Ergebnis der Codeausführung:
'2025-04-13'
Setzen eines neuen Datums
Ein neues Datum für das
DateTime-Objekt kann festgelegt werden.
Dies geschieht über die Methode setDate:
<?php
$date = new DateTime();
$date->setDate(2025, 12, 31);
echo $date->format('Y-m-d');
?>
Ergebnis der Codeausführung:
'2025-12-31'
Setzen der Uhrzeit
Eine neue Uhrzeit für das
DateTime-Objekt kann festgelegt werden.
Dies geschieht über die Methode setTime:
<?php
$date = new DateTime();
$date->setTime(15, 30, 0);
echo $date->format('H:i:s');
?>
Ergebnis der Codeausführung:
'15:30:00'
Vergleichen von Datumsangaben
Objekte mit Datumsangaben können verglichen werden:
<?php
$date1 = new DateTime('2025-01-01');
$date2 = new DateTime('2025-02-01');
if ($date1 < $date2) {
echo '+++';
} else {
echo '---';
}
?>
Differenz zwischen Datumsangaben
Mit der Methode diff kann die
Differenz zwischen Datumsangaben berechnet werden. Die Differenz
wird als Objekt vom Typ
DateInterval zurückgegeben:
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Ergebnis der Codeausführung:
'1 months 14 days'
Zeitzone
Beim Erstellen eines DateTime-Objekts
kann die Zeitzone angegeben werden:
<?php
$timeZone = new DateTimeZone('Europe/Moscow');
$date = new DateTime('2025-12-31 23:59:59', $timeZone);
echo $date->format('Y-m-d H:i:s e');
?>
Ergebnis der Codeausführung:
'2025-12-31 23:59:59 Europe/Moscow'
Siehe auch
-
Klasse
DateTimeImmutable,
die ein unveränderliches Datum erstellt -
Klasse
DateInterval,
die ein Zeitintervall festlegt -
Klasse
DateTimeZone,
die eine Zeitzone festlegt