DateTimeImmutable::modify
Создаёт новый объект с изменённой временной меткой
&reftitle.description;
#[\NoDiscard]
public DateTimeImmutableDateTimeImmutable::modify
stringmodifier
Метод клонирует исходный объект даты и времени, модифицирует в копии метку времени и возвращает изменённую копию объекта DateTimeImmutable.
Исходный объект не изменяется.
&reftitle.parameters;
modifier
&date.formats.parameter;
&reftitle.returnvalues;
Метод возвращает новый объект DateTimeImmutable, если выполнился успешно,&return.falseforfailure;.
&return.falseforfailure.style.procedural;
&reftitle.errors;
Метод DateTimeImmutable::modify теперь выбрасывает
исключение DateMalformedStringException,
если передали строку с недопустимой датой и временем. Раньше метод возвращал значение false
и выдавал предупреждение.
&reftitle.changelog;
&Version;
&Description;
8.3.0
При передаче строки в недопустимом формате
вместо предупреждения метод теперь выбрасывает исключение
DateMalformedStringException.
&reftitle.examples;
Пример изменения метки времени методом DateTimeImmutable::modify
&style.oop;
modify('+1 day');
echo $newDate->format('Y-m-d');
]]>
&example.outputs;
Пример поведения при добавлении или вычитании месяцев
modify('+1 month');
echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->modify('+1 month');
echo $newDate2->format('Y-m-d') . "\n";
]]>
&example.outputs;
&reftitle.seealso;
DateTimeImmutable::add
DateTimeImmutable::sub
DateTimeImmutable::setDate
DateTimeImmutable::setISODate
DateTimeImmutable::setTime
DateTimeImmutable::setTimestamp