A classe DateInterval

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

Introdução

Representa um intervalo entre datas.

Um intervalo de data armazena, tanto uma quantidade de tempo (em anos, meses, dias, horas, etc), quanto uma string de tempo relativo no formato que os construtores das classes DateTimeImmutable e DateTime suportam.

Mais especificamente, a informação em um objeto da classe DateInterval é uma instrução para mover de uma data/hora para outra data/hora. Este processo nem sempre é reversível.

Uma maneira comum de criar um objeto DateInterval é calculando a diferença entre dois objetos data/hora através do método DateTimeInterface::diff().

Como não existe uma maneira bem definida de comparar intervalos de datas, as instâncias de DateInterval são incomparáveis.

Resumo da classe

class DateInterval {
/* Propriedades */
public int $y;
public int $m;
public int $d;
public int $h;
public int $i;
public int $s;
public float $f;
public int $invert;
public mixed $days;
/* Métodos */
public __construct(string $duration)
public static createFromDateString(string $datetime): DateInterval|false
public format(string $format): string
}

Propriedades

Warning

As propriedades disponíveis listadas abaixo dependem da versão do PHP, e devem ser consideradas como somente-leitura.

y

Número de anos.

m

Número de meses.

d

Número de dias.

h

Número de horas.

i

Número de minutos.

s

Número de segundos.

f

Número de microssegundos, como uma fração de um segundo.

invert

Será 1 se o intervalo representa um período negativo de tempo e 0 caso contrário. Veja DateInterval::format().

days

Se o objeto DateInterval foi criado por DateTimeImmutable::diff() ou DateTime::diff(), então ele representará o número total de dias inteiros entre a data inicial e final. Caso contrário, days será false.

from_string

Se o objeto DateInterval foi criado por DateInterval::createFromDateString(), então o valor desta propriedade será true e a propriedade date_string será populada. Caso contrário, o valor será false e as propriedades y a f, invert e days serão populadas.

date_string

String usado como argumento para DateInterval::createFromDateString().

Registro de Alterações

Versão Descrição
8.2.0 As propriedades from_string e date_string foram adicionadas para instâncias DateInterval que foram criadas usando o método DateInterval::createFromDateString().
8.2.0 Apenas as propriedades y a f, invert, e days serão visíveis.
7.4.0 As instâncias de DateInterval agora são incomparáveis; antes, todas as instâncias de DateInterval eram consideradas iguais.
7.1.0 A propriedade f foi adicionada.

Table of Contents