(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setTime — Legt die Uhrzeit fest
$hour
,$minute
,$second
= 0,$microsecond
= 0Gibt ein neues DateTimeImmutable-Objekt zurück, bei dem die Uhrzeit auf die angegebene Zeit gesetzt ist.
hour
Die Stunde der Uhrzeit
minute
Die Minute der Uhrzeit
second
Die Sekunde der Uhrzeit
microsecond
Die Mikrosekunde der Uhrzeit
Gibt ein neues DateTimeImmutable-Objekt mit den geänderten Daten zurück.
Version | Beschreibung |
---|---|
8.1.0 | Das Verhalten bei doppelt vorhandenen Stunden (während der Umstellung von Sommer- auf Normalzeit) wurde geändert. Bisher wählte PHP die zweite Stundenzahl (nach der Zeitumstellung), statt der ersten (vor der Zeitumstellung). |
7.1.0 |
Der Parameter microsecond wurde hinzugefügt.
|
Beispiel #1 DateTimeImmutable::setTime()-Beispiel
Objektorientierter Stil
<?php
$date = new DateTimeImmutable('2001-01-01');
$newDate = $date->setTime(14, 55);
echo $newDate->format('Y-m-d H:i:s') . "\n";
$newDate = $date->setTime(14, 55, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>
Oben gezeigte Beispiele erzeugen eine ähnliche Ausgabe wie:
2001-01-01 14:55:00 2001-01-01 14:55:24
Beispiel #2 Werte, die einen Bereich überschreiten, werden zu ihren übergeordneten Werten hinzugefügt
<?php
$date = new DateTimeImmutable('2001-01-01');
$newDate = $date->setTime(14, 55, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";
$newDate = $date->setTime(14, 55, 65);
echo $newDate->format('Y-m-d H:i:s') . "\n";
$newDate = $date->setTime(14, 65, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";
$newDate = $date->setTime(25, 55, 24);
echo $newDate->format('Y-m-d H:i:s') . "\n";
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
2001-01-01 14:55:24 2001-01-01 14:56:05 2001-01-01 15:05:24 2001-01-02 01:55:24