Depending on what your use case is, adding months might or might not give you the correct result.
// Prints "2024-03-02" instead of "2024-02-29"
print Date::fromString('2024-01-31T10:00:00')
->add(new DateInterval('P1M0D')
->format('Y-m-d');
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateTime::add -- date_add — Изменяет объект DateTime, добавляя количество дней, месяцев, лет, часов, минут и секунд
Объектно-ориентированный стиль
Процедурный стиль
Прибавляет заданный объект DateInterval к объекту DateTime.
Подобен методу DateTimeImmutable::add(), за исключением работы с объектом DateTime.
Процедурная версия принимает в качестве первого аргумента объект DateTime.
object
Только для процедурного стиля: объект DateTime, который возвращает функция date_create(). Функция изменяет этот объект.
interval
Объект класса DateInterval.
Возвращает модифицированный объект DateTime для применения в цепи методов.
Depending on what your use case is, adding months might or might not give you the correct result.
// Prints "2024-03-02" instead of "2024-02-29"
print Date::fromString('2024-01-31T10:00:00')
->add(new DateInterval('P1M0D')
->format('Y-m-d');