# DateTimeImmutable クラス

(PHP 5 >= 5.5.0, PHP 7)

## はじめに

このクラスの挙動は DateTime とほぼ同じですが、 自分自身は変更せずに新しいオブジェクトを返すという点だけが異なります。

## クラス概要

DateTimeImmutable implements DateTimeInterface {
/* メソッド */
public __construct ([ string `$time` = "now" [, DateTimeZone `$timezone` = `NULL` ]] )
public add ( DateInterval `$interval` ) : DateTimeImmutable
public static createFromFormat ( string `$format` , string `$time` [, DateTimeZone `$timezone` ] ) : DateTimeImmutable
public static createFromMutable ( DateTime `$datetime` ) : DateTimeImmutable
public static getLastErrors ( void ) : array
public modify ( string `$modify` ) : DateTimeImmutable
public static __set_state ( array `$array` ) : DateTimeImmutable
public setDate ( int `$year` , int `$month` , int `$day` ) : DateTimeImmutable
public setISODate ( int `$year` , int `$week` [, int `$day` = 1 ] ) : DateTimeImmutable
public setTime ( int `$hour` , int `$minute` [, int `$second` = 0 ] ) : DateTimeImmutable
public setTimestamp ( int `$unixtimestamp` ) : DateTimeImmutable
public setTimezone ( DateTimeZone `$timezone` ) : DateTimeImmutable
public sub ( DateInterval `$interval` ) : DateTimeImmutable
public diff ( DateTimeInterface `$datetime2` [, bool `$absolute` = false ] ) : DateInterval
public format ( string `$format` ) : string
public getOffset ( void ) : int
public getTimestamp ( void ) : int
public getTimezone ( void ) : DateTimeZone
public __wakeup ( void )
}

## 目次

- DateTimeImmutable::add — 年月日時分秒の値を加える
- DateTimeImmutable::__construct — 新しい DateTimeImmutable オブジェクトを返す
- DateTimeImmutable::createFromFormat — 指定した書式でフォーマットした新しい DateTimeImmutable オブジェクトを返す
- DateTimeImmutable::createFromMutable — Returns new DateTimeImmutable object encapsulating the given DateTime object
- DateTimeImmutable::getLastErrors — 警告およびエラーを返す
- DateTimeImmutable::modify — タイムスタンプを変更した新しいオブジェクトを作る
- DateTimeImmutable::__set_state — __set_state ハンドラ
- DateTimeImmutable::setDate — 日付を設定する
- DateTimeImmutable::setISODate — ISO 日付を設定する
- DateTimeImmutable::setTime — 時刻を設定する
- DateTimeImmutable::setTimestamp — Unix タイムスタンプを用いて日付と時刻を設定する
- DateTimeImmutable::setTimezone — タイムゾーンを設定する
- DateTimeImmutable::sub — 年月日時分秒の値を引く