php8.5
Home/ Manual/ datetime / datetimeimmutable/ DateTimeImmutable::modify

DateTimeImmutable::modify

PHP function Edit on GitHub ✎

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Creates a new object with modified timestamp

Description

DateTimeImmutable::modify(string $modifier): DateTimeImmutable

Creates a new DateTimeImmutable object with modified timestamp. The original object is not modified.

Parameters

modifier

Parameter

Return Values

Returns DateTimeImmutable on success. Procedural

Errors/Exceptions

If an invalid Date/Time string is passed, DateMalformedStringException is thrown. Previous to PHP 8.3, this was a warning.

Changelog

VersionDescription
8.4.0Now has a tentative return type of DateTimeImmutable. Previously it was DateTimeImmutable|false.
8.3.0DateTimeImmutable::modify now throws DateMalformedStringException if an invalid string is passed. Previously, it returned false, and a warning was emitted.

Examples

DateTimeImmutable::modify() example

Oop

php
<?php
$date = new DateTimeImmutable('2006-12-12');
$newDate = $date->modify('+1 day');
echo $newDate->format('Y-m-d');

The above example will output:

output
2006-12-13

Beware when adding or subtracting months

php
<?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:

output
2001-01-31
2001-03-03

See Also

Source: reference/datetime/datetimeimmutable/modify.xml · from the official PHP manual (php/doc-en)