(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeImmutable::modify — Creates a new object with modified timestamp
Creates a new DateTimeImmutable object with modified timestamp. The original object is not modified.
modifier
A date/time string. Valid formats are explained in Date and Time Formats.
Returns a new modified DateTimeImmutable object or false
on failure.
If an invalid Date/Time string is passed, DateMalformedStringException is thrown. Previous to PHP 8.3, this was a warning.
Version | Description |
---|---|
8.3.0 | Now throws DateMalformedStringException if an invalid string is passed, instead of a warning. |
Example #1 DateTimeImmutable::modify() example
Object-oriented style
<?php
$date = new DateTimeImmutable('2006-12-12');
$newDate = $date->modify('+1 day');
echo $newDate->format('Y-m-d');
?>
The above examples will output:
2006-12-13
Example #2 Beware when adding or subtracting months
<?php
$date = new DateTimeImmutable('2000-12-31');
$newDate1 = $date->modify('+1 month');
echo $newDate1->format('Y-m-d') . "\n";
$newDate2 = $newDate1->modify('+1 month');
echo $newDate2->format('Y-m-d') . "\n";
?>
The above example will output:
2001-01-31 2001-03-03