DateTime::getLastErrors
DateTime::__set_state
DateTime
PHP Manual

# DateTime::modify

# date_modify

(PHP 5 >= 5.2.0)

DateTime::modify -- date_modify — タイムスタンプを変更する

### 説明

オブジェクト指向型

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

手続き型

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

strtotime() 形式で加算あるいは減算することによって DateTime オブジェクトのタイムスタンプを変更します。

### パラメータ

`object`

  手続き型のみ: date_create() が返す DateTime オブジェクト。 この関数は、このオブジェクトを変更します。

`modify`

  日付/時刻 文字列。有効な書式については 日付と時刻の書式 で説明しています。

### 返り値

メソッドチェインに使う DateTime オブジェクトを返します。失敗した場合に `FALSE` を返します。

### 変更履歴

バージョン | 説明
--- | ---
5.3.6 | 日付/時刻の絶対指定も効果を及ぼすようになりました。 これまでは、相対指定部分だけを用いていました。
5.3.0 | 成功した場合の返り値が `NULL` から DateTime に変更されました。

### 例

例1 DateTime::modify() の例

オブジェクト指向型

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

手続き型

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

上の例の出力は以下となります。

    2006-12-13

例2 月の加減算には注意

`<?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";
?>`

上の例の出力は以下となります。

    2001-01-31
    2001-03-03

### 参考

- strtotime() - 英文形式の日付を Unix タイムスタンプに変換する
- DateTime::add() - 年月日時分秒の値を DateTime オブジェクトに加える
- DateTime::sub() - 年月日時分秒の値を DateTime オブジェクトから引く
- DateTime::setDate() - 日付を設定する
- DateTime::setISODate() - ISO 日付を設定する
- DateTime::setTime() - 時刻を設定する
- DateTime::setTimestamp() - Unix タイムスタンプを用いて日付と時刻を設定する

DateTime::getLastErrors
DateTime::__set_state
DateTime
PHP Manual