DateInterval
PHP Manual

DateInterval::__construct

(PHP 5 >= 5.3.0, PHP 7)

DateInterval::__constructCria um novo objeto DateInterval

Descrição

public DateInterval::__construct ( string $interval_spec )

Cria um novo objeto DateInterval.

Parâmetros

interval_spec

Uma especificação de intervalo.

O formato inicia-se com a letra P, de "período." Cada período de duração é representado por um valor inteiro seguido do designador de período. Se a duração conter elementos de tempo, essa porção da especificação é precedida pela letra T.

interval_spec Designadores de Período
Designador de Período Descrição
Y anos
M meses
D dias
W semanas. Essa é convertida em dias, portanto não pode ser combinada com D.
H horas
M minutos
S segundos

Alguns exemplos simples. Dois dias é representado com P2D. Dois segundos é representado com PT2S. Seis anos e cinco minutos é representado com P6YT5M.

Nota:

O tipo de unidade deve ser inserida da unidade de maior escala a esquerda da de menor escala, essa a direta. Então, anos antes de meses, meses antes de dias, dias antes de minutos, e etc. Assim, um ano e quatro dias deve ser representado com P1Y4D, e não P4D1Y.

A especificação também pode ser representada como data e hora. Um exemplo de um ano e quatro dias seria P0001-00-04T00:00:00. Porém, valores neste formato não podem exceder o tamanho máximo do período (por exemplo 25 horas é inválido).

Estes formatos são baseados na » ISO 8601 duration specification.

Erros

Lança uma exceção Exception quando o parâmetro interval_spec não conseguir ser interpretado como um intervalo.

Exemplos

Exemplo #1 Exemplo da classe DateInterval

<?php

$interval 
= new DateInterval('P2Y4DT6H8M');
var_dump($interval);

?>

O exemplo acima irá imprimir:

object(DateInterval)#1 (8) {
  ["y"]=>
  int(2)
  ["m"]=>
  int(0)
  ["d"]=>
  int(4)
  ["h"]=>
  int(6)
  ["i"]=>
  int(8)
  ["s"]=>
  int(0)
  ["invert"]=>
  int(0)
  ["days"]=>
  bool(false)
}

Veja Também


DateInterval
PHP Manual