L'interface DateTimeInterface

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Introduction

DateTimeInterface a été créé pour que les déclarations de type de paramètre, retour, ou propriété peuvent accepter soit DateTime ou DateTimeImmutable comme valeur. Il n'est pas possible d'implémenter cette interface dans les classes utilisateurs.

Les constantes communes qui permettent de formater les objets DateTimeImmutable ou DateTime via DateTimeImmutable::format() et DateTime::format() sont également définies sur cette interface.

Sommaire de l'Interface

interfaceDateTimeInterface {
publicconststringATOM = "Y-m-d\\TH:i:sP";
publicconststringCOOKIE = "l, d-M-Y H:i:s T";
publicconststringISO8601 = "Y-m-d\\TH:i:sO";
publicconststringISO8601_EXPANDED = "X-m-d\\TH:i:sP";
publicconststringRFC822 = "D, d M y H:i:s O";
publicconststringRFC850 = "l, d-M-y H:i:s T";
publicconststringRFC1036 = "D, d M y H:i:s O";
publicconststringRFC1123 = "D, d M Y H:i:s O";
publicconststringRFC7231 = "D, d M Y H:i:s \\G\\M\\T";
publicconststringRFC2822 = "D, d M Y H:i:s O";
publicconststringRFC3339 = "Y-m-d\\TH:i:sP";
publicconststringRFC3339_EXTENDED = "Y-m-d\\TH:i:s.vP";
publicconststringRSS = "D, d M Y H:i:s O";
publicconststringW3C = "Y-m-d\\TH:i:sP";
publicdiff(DateTimeInterface$targetObject, bool$absolute = false): DateInterval
publicformat(string$format): string
publicgetOffset(): int
publicgetTimestamp(): int
public__wakeup(): void
}

Constantes pré-définies

DateTimeInterface::ATOM
DATE_ATOM
Atom (exemple: 2005-08-15T15:52:01+00:00)
DateTimeInterface::COOKIE
DATE_COOKIE
HTTP Cookies (exemple: Monday, 15-Aug-2005 15:52:01 UTC)
DateTimeInterface::ISO8601
DATE_ISO8601
ISO-8601 (exemple: 2005-08-15T15:52:01+0000)

Note: Ce format n'est pas compatible avec ISO-8601, mais reste ainsi pour des raisons de compatibilité ascendante. Utilisez DateTime::ISO8601_EXPANDED ou DateTimeInterface::ATOM pour assurer la compatibilité avec ISO-8601. (ref ISO8601:2004 section 4.3.3 clause d)

DateTimeInterface::ISO8601_EXPANDED
DATE_ISO8601_EXPANDED
ISO-8601 Expanded (exemple: +10191-07-26T08:59:52+01:00)

Note: Ce format permet des plages d'années en dehors de la plage normale de ISO-8601 allant de 0000 à 9999 en incluant toujours un caractère de signe. Il indique également que cette partie de fuseau horaire (+01:00) est compatible avec ISO-8601.

DateTimeInterface::RFC822
DATE_RFC822
RFC 822 (exemple: Mon, 15 Aug 05 15:52:01 +0000)
DateTimeInterface::RFC850
DATE_RFC850
RFC 850 (exemple: Monday, 15-Aug-05 15:52:01 UTC)
DateTimeInterface::RFC1036
DATE_RFC1036
RFC 1036 (exemple: Mon, 15 Aug 05 15:52:01 +0000)
DateTimeInterface::RFC1123
DATE_RFC1123
RFC 1123 (exemple: Mon, 15 Aug 2005 15:52:01 +0000)
DateTimeInterface::RFC7231
DATE_RFC7231
RFC 7231 (à partir de PHP 7.0.19 et 7.1.5) (exemple: Sat, 30 Apr 2016 17:52:13 GMT)
DateTimeInterface::RFC2822
DATE_RFC2822
RFC 2822 (exemple: Mon, 15 Aug 2005 15:52:01 +0000)
DateTimeInterface::RFC3339
DATE_RFC3339
Comme DATE_ATOM
DateTimeInterface::RFC3339_EXTENDED
DATE_RFC3339_EXTENDED
RFC 3339 EXTENDED format (example: 2005-08-15T15:52:01.000+00:00)
DateTimeInterface::RSS
DATE_RSS
RSS (exemple: Mon, 15 Aug 2005 15:52:01 +0000)
DateTimeInterface::W3C
DATE_W3C
World Wide Web Consortium (example: 2005-08-15T15:52:01+00:00)

Historique

VersionDescription
8.2.0 La constante DateTimeInterface::ISO8601_EXPANDED a été ajouté.
7.2.0 Les constantes de classe de DateTime sont maintenant définies sur DateTimeInterface.

Sommaire

To Top