PHP Function Reference

PHP DateTimeInterface interface



The PHP DateTimeInterface interface is meant so that both DateTime class and DateTimeImmutable class can be type hinted for.

Interface synopsis

interface DateTimeInterface {
  
  //Constants
  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";
  
  //Methods
  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
}

Predefined Constants

DateTimeInterface::ATOM
DATE_ATOM

Atom (example: 2005-08-15T15:52:01+00:00)

DateTimeInterface::COOKIE
DATE_COOKIE

HTTP Cookies (example: Monday, 15-Aug-2005 15:52:01 UTC)

DateTimeInterface::ISO8601
DATE_ISO8601

ISO-8601 (example: 2005-08-15T15:52:01+0000)

Note: This format is not compatible with ISO-8601, but is available only for backward compatibility reasons. Use DateTime::ATOM or DATE_ATOM for compatibility with ISO-8601 instead.

DateTimeInterface::RFC822
DATE_RFC822

RFC 822 (example: Mon, 15 Aug 05 15:52:01 +0000)

DateTimeInterface::RFC850
DATE_RFC850

RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC)

DateTimeInterface::RFC1036
DATE_RFC1036

RFC 1036 (example: Mon, 15 Aug 05 15:52:01 +0000)

DateTimeInterface::RFC1123
DATE_RFC1123

RFC 1123 (example: Mon, 15 Aug 2005 15:52:01 +0000)

DateTimeInterface::RFC7231
DATE_RFC7231

RFC 7231 (since PHP 7.0.19 and 7.1.5) (example: Sat, 30 Apr 2016 17:52:13 GMT)

DateTimeInterface::RFC2822
DATE_RFC2822

RFC 2822 (example: Mon, 15 Aug 2005 15:52:01 +0000)

DateTimeInterface::RFC3339
DATE_RFC3339

Same as 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 (example: Mon, 15 Aug 2005 15:52:01 +0000)

DateTimeInterface::W3C
DATE_W3C

World Wide Web Consortium (example: 2005-08-15T15:52:01+00:00)


❮ PHP Date and Time Reference