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
$datetime->setTime($hour, $minute, $second, $microsecond);Dabei steht:
$datetimeist das zu änderndeDateTime-Objekt.$hourist der neue Stundenwert (0–23).$minuteist der neue Minutenwert (0–59).$secondist der neue Sekundenwert (0–59, optional, Standardwert ist 0).$microsecondist 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
$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?