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
手続き型のみ: date_create() が返す DateTime オブジェクト。 この関数は、このオブジェクトを変更します。
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');