Zum Inhalt springen

PHP-Funktion date_time_set()

In PHP wird die DateTime::setTime()-Methode verwendet, um eine neue Zeit für ein angegebenes DateTime-Objekt festzulegen. Diese Methode ist Teil der PHP-Klasse DateTime und kann verwendet werden, um den Zeitanteil eines Datums-/Zeitobjekts auf einen neuen Wert zu setzen.

Syntax

Die Syntax für die DateTime::setTime()-Methode lautet wie folgt:

Die Syntax für die DateTime::setTime()-Methode

php
$datetime->setTime($hour, $minute, $second, $microsecond);

Dabei steht:

  • $datetime ist das zu ändernde DateTime-Objekt.
  • $hour ist der neue Stundenwert (0–23).
  • $minute ist der neue Minutenwert (0–59).
  • $second ist der neue Sekundenwert (0–59, optional, Standardwert ist 0).
  • $microsecond ist der neue Mikrosekundenwert (0–999999, optional, Standardwert ist 0).

Hinweis: Die Zeitzone des DateTime-Objekts bleibt während dieses Vorgangs erhalten. Die Methode ändert das Objekt direkt an Ort und Stelle. Wenn angegebene Werte ihre gültigen Bereiche überschreiten, normalisiert PHP diese automatisch (z. B. wird Stunde 25 auf den nächsten Tag hochgezählt), anstatt eine Ausnahme auszulösen.

Beispielverwendung

Werfen wir einen Blick auf ein Beispiel zur Verwendung der DateTime::setTime()-Methode:

Beispiel für die PHP DateTime::setTime()-Methode

php
<?php
$date = new DateTime('2000-01-01 12:00:00');
$date->setTime(14, 30);
echo $date->format('Y-m-d H:i:s');

In diesem Beispiel erstellen wir zunächst ein neues DateTime-Objekt mit dem Datum und der Zeit '2000-01-01 12:00:00'. Anschließend verwenden wir die Methode setTime(), um die Stunde auf 14 und die Minute auf 30 zu setzen. Abschließend geben wir das modifizierte Datum und die Uhrzeit mit der Methode format() im Format 'Y-m-d H:i:s' aus.

Vergleich von DateTime::setTime() mit anderen Funktionen

Die Methode DateTime::setTime() ist der Standard-Ansatz in PHP zur objektorientierten Änderung der Zeit. Im Gegensatz zu prozeduralen Datumsfunktionen, die neue Strings zurückgeben oder eine komplexe Parsing-Logik erfordern, ändert setTime() das DateTime-Objekt direkt an Ort und Stelle, was Typsicherheit und ein konsistentes Verhalten gewährleistet. Dies steht im Gegensatz zu DateTimeImmutable::setTime(), das eine neue Instanz zurückgibt, anstatt das ursprüngliche Objekt zu verändern.

Fazit

Die Methode DateTime::setTime() ist ein nützliches Werkzeug zur Manipulation von Datum und Uhrzeit in PHP. Durch die Bereitstellung einer einfachen Möglichkeit, den Zeitanteil eines DateTime-Objekts zu aktualisieren, bietet sie einen bequemen und zuverlässigen Ansatz für die Datums-/Zeitmanipulation. Für die unveränderliche (immutable) Datumsbehandlung verwenden Sie DateTimeImmutable::setTime(), das eine neue Instanz zurückgibt, anstatt das Original zu ändern.

Praxis

Was bewirkt die Funktion date_default_timezone_set() in PHP?

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.