DateTime::setTimezone
DateTime::__wakeup
DateTime
PHP Manual

# DateTime::sub

(PHP 5 >= 5.3.0)

DateTime::sub — 年月日時分秒の値を DateTime オブジェクトから引く

### 説明

public DateTime DateTime::sub ( DateInterval `$interval` )
DateTime date_sub ( DateTime `$object` , DateInterval `$interval` )

指定した DateInterval オブジェクトを、 指定した DateTime オブジェクトから引きます。

### パラメータ

`object`

  手続き型のみ: date_create() が返す DateTime オブジェクト

`interval`

  引きたい量。 日付の場合は "P3D"、"P3M"、"P3Y" あるいはそれらを組み合わせた "P2M5D" (Y = 年、M = 月、D = 日) のような形式を使用します。 年・月・日の順でなければなりません。たとえば "P5Y"、"P5M2D"、"P5Y4D" のようになります。 時刻の場合は "T3H"、"T3M"、"T3S" あるいはそれらを組み合わせた "T5H20M" (H = 時、M = 分、S = 秒) のような形式を使用します。 日付・時刻の場合は "P5Y2M4DT5H20M" のようにします。 文字 (P や T 以外) の前の数字は、任意の量を指定できます。

### 返り値

変更した DateTime を返します。

### 例

例1 date_sub() の例

`<?php
$date = new DateTime("18-July-2008 16:30:30");
echo $date->format("d-m-Y H:i:s").'<br />';
date_sub($date, new DateInterval("P5D"));
echo '<br />'.$date->format("d-m-Y").' : 5 Days';
date_sub($date, new DateInterval("P5M"));
echo '<br />'.$date->format("d-m-Y").' : 5 Months';
date_sub($date, new DateInterval("P5Y"));
echo '<br />'.$date->format("d-m-Y").' : 5 Years';
date_sub($date, new DateInterval("P5Y5M5D"));
echo '<br />'.$date->format("d-m-Y").' : 5 Days, 5 Months, 5 Years';
date_sub($date, new DateInterval("P5YT5H"));
echo '<br />'.$date->format("d-m-Y H:i:s").' : 5 Years, 5 Hours';
?>`

### 注意

警告

この関数は、 実験的 なものです。この関数の動作・ 名前・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 この関数は自己責任で使用してください。

### 参考

- DateTime::add() - 年月日時分秒の値を DateTime オブジェクトに加える
- DateTime::diff() - ふたつの DateTime オブジェクトの差を返す

DateTime::setTimezone
DateTime::__wakeup
DateTime
PHP Manual