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 — Modifica um objeto DateTime, com adição de dias, meses, anos, horas, minutos e segundos.
Estilo orientado a objetos
Estilo procedural
Adiciona o objeto DateInterval informado a um objeto DateTime especificado.
Equivalente a DateTimeImmutable::add() mas funciona com DateTime.
A versão procedural usa o objeto DateTime como primeiro argumento.
object
Somente no estilo procedural: Um objeto DateTime retornado por date_create(). A função modifica este objeto.
interval
Um objeto DateInterval
Retorna o objeto DateTime modificado para encadeamento de métodos.
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');