PHP 8.6.0 Beta 1 is available for testing

DateTimeImmutable::modify

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

DateTimeImmutable::modifyСоздаёт новый объект с изменённой временной меткой

Описание

#[\NoDiscard(message: "as DateTimeImmutable::modify() does not modify the object itself")]
public function DateTimeImmutable::modify(string $modifier): DateTimeImmutable

Метод клонирует исходный объект даты и времени, модифицирует в копии метку времени и возвращает изменённую копию объекта DateTimeImmutable . Исходный объект не изменяется.

Список параметров

modifier

Строка даты и времени. Объяснение корректных форматов даёт раздел «Форматы даты и времени».

Возвращаемые значения

Метод возвращает новый объект DateTimeImmutable , если выполнился успешно, или false , если возникла ошибка. Процедурный стиль возвращает false , если возникла ошибка.

Ошибки

Метод DateTimeImmutable::modify() теперь выбрасывает исключение DateMalformedStringException , если передали строку с недопустимой датой и временем. Раньше метод возвращал значение false и выдавал предупреждение.

Список изменений

Версия Описание
8.4.0 Теперь предварительный тип возвращаемого значения — DateTimeImmutable ; ранее был DateTimeImmutable |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日

Смотрите также

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы

AltStyle によって変換されたページ (->オリジナル) /