(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::setTime — Sets the time
$hour,$minute,$second = 0,$microsecond = 0Returns a new DateTimeImmutable object with the time set to the given time.
hourHour of the time.
minuteMinute of the time.
secondSecond of the time.
microsecondMicrosecond of the time.
Повертає новий об'єкт DateTimeImmutable зі зміненими даними.
| Версія | Опис |
|---|---|
| 8.1.0 | The behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition). |
| 7.1.0 | The microsecond parameter was added. |
Приклад #1 DateTimeImmutable::setTime() example
Об'єктно-орієнтований стиль
<?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";
?>Подані вище приклади виведуть щось схоже на:
2001-01-01 14:55:00 2001-01-01 14:55:24
Приклад #2 Values exceeding ranges are added to their parent values
<?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";
?>Поданий вище приклад виведе:
2001-01-01 14:55:24 2001-01-01 14:56:05 2001-01-01 15:05:24 2001-01-02 01:55:24