La classe DateTimeInterface

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

Introduction

DateTimeInterface signifie que DateTime et DateTimeImmutable peuvent être indiqués pour le type. Il n'est pas possible d'implémenter cette interface avec des classes userland.

Synopsis de la classe

DateTimeInterface {
/* Constantes */
const string ATOM = "Y-m-d\TH:i:sP" ;
const string COOKIE = "l, d-M-Y H:i:s T" ;
const string ISO8601 = "Y-m-d\TH:i:sO" ;
const string RFC822 = "D, d M y H:i:s O" ;
const string RFC850 = "l, d-M-y H:i:s T" ;
const string RFC1036 = "D, d M y H:i:s O" ;
const string RFC1123 = "D, d M Y H:i:s O" ;
const string RFC7231 = "D, d M Y H:i:s \G\M\T" ;
const string RFC2822 = "D, d M Y H:i:s O" ;
const string RFC3339 = "Y-m-d\TH:i:sP" ;
const string RFC3339_EXTENDED = "Y-m-d\TH:i:s.vP" ;
const string RSS = "D, d M Y H:i:s O" ;
const string W3C = "Y-m-d\TH:i:sP" ;
/* Méthodes */
public diff(DateTimeInterface $targetObject, bool $absolute = false): DateInterval
public format(string $format): string
public getOffset(): int
public getTimestamp(): int
public getTimezone(): DateTimeZone|false
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::ATOM ou DATE_ATOM pour assurer la compatibilité 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

Version Description
7.2.0 Les constantes de classe de DateTime sont maintenant définies sur DateTimeInterface.

Sommaire

add a note add a note

User Contributed Notes 1 note

up
0
divinity76 at gmail dot com
2 years ago
if you want to know what all the constants looks like, try

<?php
$constants
= (new ReflectionClass("DateTimeInterface"))->getConstants();
foreach(
$constants as $name => $format){
    echo
"{$name}: " . date($format, 0) . "\n";
}
?>

in php 8.0.3 it prints:

ATOM: 1970-01-01T01:00:00+01:00
COOKIE: Thursday, 01-Jan-1970 01:00:00 CET
ISO8601: 1970-01-01T01:00:00+0100
RFC822: Thu, 01 Jan 70 01:00:00 +0100
RFC850: Thursday, 01-Jan-70 01:00:00 CET
RFC1036: Thu, 01 Jan 70 01:00:00 +0100
RFC1123: Thu, 01 Jan 1970 01:00:00 +0100
RFC7231: Thu, 01 Jan 1970 01:00:00 GMT
RFC2822: Thu, 01 Jan 1970 01:00:00 +0100
RFC3339: 1970-01-01T01:00:00+01:00
RFC3339_EXTENDED: 1970-01-01T01:00:00.000+01:00
RSS: Thu, 01 Jan 1970 01:00:00 +0100
W3C: 1970-01-01T01:00:00+01:00
To Top