(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::modify — Создаёт новый объект с изменённой временной меткой
Метод создаёт новый объект DateTimeImmutable с изменённой временной меткой. Первоначальный объект не изменяется.
modifier
Строка даты и времени. Объяснение корректных форматов даёт раздел «Форматы даты и времени».
Метод возвращает новый объект DateTimeImmutable, если выполнился успешно, или false
, если возникла ошибка.
Процедурный стиль возвращает false
, если возникла ошибка.
Метод DateTimeImmutable::modify() теперь выбрасывает
исключение DateMalformedStringException,
если передали строку с недопустимой датой и временем. Раньше метод возвращал значение false
и выдавал предупреждение.
Версия | Описание |
---|---|
8.3.0 | Теперь вместо предупреждения выбрасывается исключение DateMalformedStringException, если передали строку в недопустимом формате. |
Пример #1 Пример изменения метки времени методом DateTimeImmutable::modify()
Объектно-ориентированный стиль
<?php
$date = new DateTimeImmutable('2006-12-12');
$newDate = $date->modify('+1 day');
echo $newDate->format('Y-m-d');
?>
Результат выполнения приведённых примеров:
2006-12-13
Пример #2 При сложении или вычитании месяцев соблюдают осторожность
<?php
$date = new DateTimeImmutable('2000-12-31');
$newDate1 = $date->modify('+1 month');
echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->modify('+1 month');
echo $newDate2->format('Y-m-d') . "\n";
?>
Результат выполнения приведённого примера:
2001-01-31 2001-03-03