Php/docs/class.datetimeinterface
(PHP 5 >= 5.5.0, PHP 7)
Introduction
DateTimeInterface is meant so that both DateTime and DateTimeImmutable can be type hinted for. It is not possible to implement this interface with userland classes.
Class synopsis
DateTimeInterface {
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|false
public format
( string $format
) : string|false
public getOffset ( ) : int|false
public getTimestamp ( ) : int
public getTimezone ( ) : DateTimeZone|false
public __wakeup ( )
}
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 left this way for backward compatibility reasons. Use
DateTime::ATOM
orDATE_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
(since PHP 5.1.3) DateTimeInterface::RFC3339_EXTENDED
DATE_RFC3339_EXTENDED
- RFC 3339 EXTENDED format (since PHP 7.0.0) (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)
Changelog
Version | Description |
---|---|
7.2.0 | The class constants of DateTime are now defined
on DateTimeInterface. |
5.5.8 | Trying to implement DateTimeInterface raises a
fatal error now. Formerly implementing the interface didn't raise an error, but the behavior was erroneous. |
Table of Contents
- DateTime::diff — Returns the difference between two DateTime objects
- DateTime::format — Returns date formatted according to given format
- DateTime::getOffset — Returns the timezone offset
- DateTime::getTimestamp — Gets the Unix timestamp
- DateTime::getTimezone — Return time zone relative to given DateTime
- DateTime::__wakeup — The __wakeup handler
/* Constants */