DateTimeInterface::diffDateTimeImmutable::diffDateTime::diffdate_diffRetorna a diferença entre dois objetos DateTime
&reftitle.description;
&style.oop;publicDateIntervalDateTimeInterface::diffDateTimeInterfacetargetObjectboolabsolute&false;publicDateIntervalDateTimeImmutable::diffDateTimeInterfacetargetObjectboolabsolute&false;publicDateIntervalDateTime::diffDateTimeInterfacetargetObjectboolabsolute&false;&style.procedural;DateIntervaldate_diffDateTimeInterfacebaseObjectDateTimeInterfacetargetObjectboolabsolute&false;
Retorna a diferença entre dois objetos que implementam a classe
DateTimeInterface.
&reftitle.parameters;
datetime
A data a ser comparada.
absolute
Informa se o intervalo deve ser forçado como positivo.
&reftitle.returnvalues;
O objeto DateInterval representa a
diferença entre as duas datas.
O parâmetro absolute afeta somente a
propriedade invert de um
objeto DateInterval.
O valor de retorno representa mais especificamente o intervalo de tempo a
ser aplicado ao objeto original ($this ou
$originObject) para se chegar ao
$targetObject. Este processo nem sempre é
reversível.
O método leva em conta mudanças de horário de verão, e por isso pode
retornar um intervalo de 24 horas e 30 minutos, por exemplo.
Se a intenção for fazer cálculos com horários absolutos, será necessário converter
tanto $this/$baseObject quanto
$targetObject para UTC primeiro.
&reftitle.examples;
Exemplo do método DateTimeImmutable::diff&style.oop;
diff($target);
echo $interval->format('%R%a dias');
]]>
&example.outputs;
&style.procedural;
format('%R%a dias');
]]>
&example.outputs;
DateTimeInterface::diff durante mudança
de horário de verão
diff($targetTime);
echo $interval->format("%H:%I:%S (Dias inteiros: %a)"), "\n";
]]>
&example.outputs;
Intervalo do método DateTimeInterface::diff
O valor que o método retorna é a quantidade exata de tempo para sair de
$this e chegar em $targetObject.
Comparando 1º de janeiro com 31 de dezembro retorna portanto 364, e não 365
dias (para anos não bissextos).
diff($targetTime);
echo "Dias inteiros: ", $interval->format("%a"), "\n";
]]>
&example.outputs;
Comparação entre objetos DateTime
Objetos das classes DateTimeImmutable e DateTime
podem ser comparados utilizando os
operadores de comparação.
$date2);
]]>
&example.outputs;
&reftitle.seealso;
DateInterval::formatDateTime::addDateTime::sub