# La classe DateTimeImmutable

(PHP 5 >= 5.5.0, PHP 7)

## Introduction

Cette classe fonctionne de façon identique à DateTime sauf qu'elle ne se modifie jamais elle-même, mais retourne plutôt un nouvel objet.

## Synopsis de la classe

DateTimeImmutable implements DateTimeInterface {
/* Constants héritées */
const string DateTimeInterface::ATOM = "Y-m-d\TH:i:sP" ;
const string DateTimeInterface::COOKIE = "l, d-M-Y H:i:s T" ;
const string DateTimeInterface::ISO8601 = "Y-m-d\TH:i:sO" ;
const string DateTimeInterface::RFC822 = "D, d M y H:i:s O" ;
const string DateTimeInterface::RFC850 = "l, d-M-y H:i:s T" ;
const string DateTimeInterface::RFC1036 = "D, d M y H:i:s O" ;
const string DateTimeInterface::RFC1123 = "D, d M Y H:i:s O" ;
const string DateTimeInterface::RFC2822 = "D, d M Y H:i:s O" ;
const string DateTimeInterface::RFC3339 = "Y-m-d\TH:i:sP" ;
const string DateTimeInterface::RFC3339_EXTENDED = "Y-m-d\TH:i:s.vP" ;
const string DateTimeInterface::RSS = "D, d M Y H:i:s O" ;
const string DateTimeInterface::W3C = "Y-m-d\TH:i:sP" ;
/* Méthodes */
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 [, int `$microseconds` = 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 )
}

## Sommaire

- DateTimeImmutable::add — Ajoute un nombre de jours, mois, années, heures, minutes et secondes
- DateTimeImmutable::__construct — Retourne un nouvel objet DateTimeImmutable
- DateTimeImmutable::createFromFormat — Analyse une heure au format texte selon le format spécifié.
- DateTimeImmutable::createFromMutable — Retourne le nouvel objet DateTimeImmutable qui contient l'objet DateTime fourni
- DateTimeImmutable::getLastErrors — Retourne les alertes et erreurs
- DateTimeImmutable::modify — Créé un nouvel objet dont le timestamp a été modifié
- DateTimeImmutable::__set_state — Le gestionnaire __set_state
- DateTimeImmutable::setDate — Définit la date
- DateTimeImmutable::setISODate — Définit la date ISO
- DateTimeImmutable::setTime — Définit le temps
- DateTimeImmutable::setTimestamp — Définit la date et l'heure basé sur un timestamp Unix
- DateTimeImmutable::setTimezone — Définit le décalage horaire
- DateTimeImmutable::sub — Soustrait un nombre de jours, mois, années, heures et secondes