(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.
hourDie Stunde der Uhrzeit
minuteDie Minute der Uhrzeit
secondDie Sekunde der Uhrzeit
microsecondDie 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