PHP Conference Japan 2024

DateTimeImmutable::setTime

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

DateTimeImmutable::setTimeLegt die Uhrzeit fest

Beschreibung

public DateTimeImmutable::setTime(
    int $hour,
    int $minute,
    int $second = 0,
    int $microsecond = 0
): DateTimeImmutable

Gibt ein neues DateTimeImmutable-Objekt zurück, bei dem die Uhrzeit auf die angegebene Zeit gesetzt ist.

Parameter-Liste

hour

Die Stunde der Uhrzeit

minute

Die Minute der Uhrzeit

second

Die Sekunde der Uhrzeit

microsecond

Die Mikrosekunde der Uhrzeit

Rückgabewerte

Gibt ein neues DateTimeImmutable-Objekt mit den geänderten Daten zurück.

Changelog

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.

Beispiele

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

Siehe auch

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top