DateTime::getLastErrors
DateTime::__set_state
DateTime
PHP Manual

# DateTime::modify

# date_modify

Alters the timestamp

### Description

Object oriented style

public DateTime DateTime::modify ( string `$modify` )

Procedural style

DateTime date_modify ( DateTime `$object` , string `$modify` )

Alter the timestamp of a DateTime object by incrementing or decrementing in a format accepted by strtotime.

### Parameters

`object`

  Procedural style only: A DateTime object returned by date_create. The function modifies this object.

`modify`

  A date/time string. Valid formats are explained in Date and Time Formats.

### Return Values

Returns the DateTime object for method chaining or `FALSE` on failure.

### Changelog

Version | Description
--- | ---
5.3.6 | Absolute date/time statements now take effect. Previously, only relative parts were used.
5.3.0 | Changed the return value on success from `NULL` to DateTime.

### Examples

Example #1 DateTime::modify example

Object oriented style

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

Procedural style

`<?php
$date = date_create('2006-12-12');
date_modify($date, '+1 day');
echo date_format($date, 'Y-m-d');
?>`

The above examples will output:

    2006-12-13

Example #2 Beware when adding or subtracting months

`<?php
$date = new DateTime('2000-12-31');
$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
$date->modify('+1 month');
echo $date->format('Y-m-d') . "\n";
?>`

The above example will output:

    2001-01-31
    2001-03-03

### See Also

- strtotime
- DateTime::add
- DateTime::sub
- DateTime::setDate
- DateTime::setISODate
- DateTime::setTime
- DateTime::setTimestamp