DateTimeImmutable::modify Creates a new object with modified timestamp &reftitle.description; #[\NoDiscard] public DateTimeImmutableDateTimeImmutable::modify stringmodifier Creates a new DateTimeImmutable object with modified timestamp. The original object is not modified. &reftitle.parameters; modifier &date.formats.parameter; &reftitle.returnvalues; Returns DateTimeImmutable on success. &return.falseforfailure.style.procedural; &reftitle.errors; If an invalid Date/Time string is passed, DateMalformedStringException is thrown. Previous to PHP 8.3, this was a warning. &reftitle.changelog; &Version; &Description; 8.3.0 DateTimeImmutable::modify now throws DateMalformedStringException if an invalid string is passed. Previously, it returned false, and a warning was emitted. &reftitle.examples; <function>DateTimeImmutable::modify</function> example &style.oop; modify('+1 day'); echo $newDate->format('Y-m-d'); ]]> &example.outputs; Beware when adding or subtracting months modify('+1 month'); echo $newDate1->format('Y-m-d') . "\n"; $newDate2 = $newDate1->modify('+1 month'); echo $newDate2->format('Y-m-d') . "\n"; ]]> &example.outputs; &reftitle.seealso; DateTimeImmutable::add DateTimeImmutable::sub DateTimeImmutable::setDate DateTimeImmutable::setISODate DateTimeImmutable::setTime DateTimeImmutable::setTimestamp