(PHP 5 >= 5.5.0, PHP 7, PHP 8)
DateTimeInterface foi criada para que os parâmetros, variáveis de retorno ou declarações de tipo de propriedades aceitem tanto DateTimeImmutable ou DateTime como um valor. Não é possível implementar esta interface em classes no espaço de usuário.
Constantes comuns que permitem formatar objetos DateTimeImmutable ou DateTime através de DateTimeImmutable::format() e DateTime::format() também são definidas nesta interface.
Atômico (exemplo: 2005-08-15T15:52:01+00:00); compatível com ISO-8601, RFC 3339 e esquema XML
Cookies HTTP (exemplo: Monday, 15-Aug-2005 15:52:01 UTC)
Tipo ISO-8601 (exemplo: 2005-08-15T15:52:01+0000)
Nota:
Este formato não é compatível com a ISO-8601, mas foi deixado assim por motivo de compatibilidade com versões anteriores. Use DateTimeInterface::ISO8601_EXPANDED, DateTimeInterface::ATOM para compatibilidade com a ISO-8601, alternativamente. (ref ISO8601:2004 seção 4.3.3 cláusula d)
ISO-8601 Expandida (exemplo: +10191-07-26T08:59:52+01:00)
Nota:
Este formato permite valores de ano fora do intervalo normal da ISO-8601 de
0000-9999porque sempre inclui um caractere de sinal. Ele também garante que a parte do fuso horário (+01:00) seja compatível com a ISO-8601.
RFC 822 (exemplo: Mon, 15 Aug 05 15:52:01 +0000)
RFC 850 (exemplo: Monday, 15-Aug-05 15:52:01 UTC)
RFC 1036 (exemplo: Mon, 15 Aug 05 15:52:01 +0000)
RFC 1123 (exemplo: Mon, 15 Aug 2005 15:52:01 +0000)
RFC 7231 (desde o PHP 7.0.19 e 7.1.5) (exemplo: Sat, 30 Apr 2016 17:52:13 GMT)
RFC 2822 (exemplo: Mon, 15 Aug 2005 15:52:01 +0000)
O mesmo que DATE_ATOM
RFC 3339 formato ESTENDIDO (exemplo: 2005-08-15T15:52:01.000+00:00)
RSS (exemplo: Mon, 15 Aug 2005 15:52:01 +0000)
World Wide Web Consortium (exemplo: 2005-08-15T15:52:01+00:00)
| Versão | Descrição |
|---|---|
| 8.5.0 |
As constantes DATE_RFC7231 e
DateTimeInterface::RFC7231 foram descontinuadas.
|
| 8.4.0 | As constantes de classe agora são tipadas. |
| 8.2.0 |
A constante DateTimeInterface::ISO8601_EXPANDED
foi adicionada.
|
| 7.2.0 | As constantes da classe DateTime agora são definidas na classe DateTimeInterface. |