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 — Modifies a DateTime object, with added amount of days, months, years, hours, minutes and seconds
Object-oriented style
Procedural style
Adds the specified DateInterval object to the specified DateTime object.
Like DateTimeImmutable::add() but works with DateTime.
The procedural version takes the DateTime object as its first argument.
object
Procedural style only: A DateTime object returned by date_create(). The function modifies this object.
interval
A DateInterval object
Returns the modified DateTime object for method chaining.
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');