DateTimeInterface::diff DateTimeImmutable::diff DateTime::diff date_diff Retorna a diferença entre dois objetos DateTime &reftitle.description; &style.oop; public DateIntervalDateTimeInterface::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTimeImmutable::diff DateTimeInterfacetargetObject boolabsolute&false; public DateIntervalDateTime::diff DateTimeInterfacetargetObject boolabsolute&false; &style.procedural; DateIntervaldate_diff DateTimeInterfacebaseObject DateTimeInterfacetargetObject boolabsolute&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 <function>DateTimeImmutable::diff</function> &style.oop; diff($target); echo $interval->format('%R%a dias'); ]]> &example.outputs; &style.procedural; format('%R%a dias'); ]]> &example.outputs; <methodname>DateTimeInterface::diff</methodname> 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 <methodname>DateTimeInterface::diff</methodname> 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 <classname>DateTime</classname> Objetos das classes DateTimeImmutable e DateTime podem ser comparados utilizando os operadores de comparação. $date2); ]]> &example.outputs; &reftitle.seealso; DateInterval::format DateTime::add DateTime::sub