DateTimeImmutable::setTime Устанавливает время &reftitle.description; #[\NoDiscard] public DateTimeImmutableDateTimeImmutable::setTime inthour intminute intsecond0 intmicrosecond0 Метод клонирует исходный объект даты и времени, устанавливает в копии новое время и возвращает изменённую копию объекта DateTimeImmutable. &reftitle.parameters; hour Час. minute Минута. second Секунда. microsecond Микросекунда. &reftitle.returnvalues; &date.datetimeimmutable.return.modifiedobject; &reftitle.changelog; &Version; &Description; 8.1.0 Изменилось поведение с повторным появлением одного и того же часа при переходе с летнего времени на зимнее, когда стрелки часов переводят на один час назад. Раньше PHP выбирал второе вхождение — момент после перехода на зимнее время, а теперь выбирает первое — до перехода. 7.1.0 Добавили параметр microsecond. &reftitle.examples; Пример установки времени методом <function>DateTimeImmutable::setTime</function> &style.oop; 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"; ]]> &example.outputs.similar; Значения, которые выходят за пределы диапазона, добавляются к своим родительским значениям 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"; ]]> &example.outputs; &reftitle.seealso; DateTimeImmutable::setDate DateTimeImmutable::setISODate