(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateTime::diff -- DateTimeImmutable::diff -- DateTimeInterface::diff -- date_diff — Retorna a diferença entre dois objetos DateTime
Estilo orientado a objetos
Estilo procedural
$datetime1
, DateTimeInterface $datetime2
, bool $absolute
= false): DateIntervalRetorna a diferença entre dois objetos que implementam a classe DateTimeInterface.
datetime
A data a ser comparada.
absolute
O intervalo deve ser forçado como positivo?
O objeto DateInterval representando a
diferença entre as duas datas ou false
em caso de falha.
Exemplo #1 Exemplo do método DateTime::diff()
Estilo orientado a objetos
<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>
Estilo procedural
<?php
$datetime1 = date_create('2009-10-11');
$datetime2 = date_create('2009-10-13');
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days');
?>
Os exemplos acima produzirão:
+2 days
Exemplo #2 Comparação entre objetos DateTime
Nota:
A partir do PHP 5.2.2, objetos DateTime podem ser comparados utilizando os operadores de comparação.
<?php
$date1 = new DateTime("now");
$date2 = new DateTime("tomorrow");
var_dump($date1 == $date2);
var_dump($date1 < $date2);
var_dump($date1 > $date2);
?>
O exemplo acima produzirá:
bool(false) bool(true) bool(false)