O date_diff() é uma função embutida no PHP que é usada para calcular a diferença entre duas datas. Esta função retorna um objeto DateInterval em caso de sucesso e retorna FALSE em caso de falha.

Sintaxe:

date_diff($datetime1, $datetime2);

Parâmetros: a função date_diff() aceita dois parâmetros conforme mencionado acima e descrito abaixo:

  • $datetime1: é um parâmetro obrigatório que especifica o primeiro objeto DateTime.
  • $datetime2: é um parâmetro obrigatório que especifica o segundo objeto DateTime.

Valor de retorno: retorna a diferença entre dois objetos DateTime, caso contrário, FALSE em caso de falha.

Os programas abaixo ilustram a função date_diff():
Programa 1:

<?php
// PHP program to illustrate 
// date_diff() function
  
// creates DateTime objects
$datetime1 = date_create('2017-06-28');
$datetime2 = date_create('2018-06-28');
  
// calculates the difference between DateTime objects
$interval = date_diff($datetime1, $datetime2);
  
// printing result in days format
echo $interval->format('%R%a days');
?>
Saída:
+365 dias

Programa 2:

<?php
// PHP program to illustrate 
// date_diff() function
  
// difference only in  year
$datetime1 = date_create('2017-06-28');
$datetime2 = date_create('2018-06-28');
  
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days') . "\n";
  
// Difference only in months
$datetime1 = date_create('2018-04-28');
$datetime2 = date_create('2018-06-28');
  
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days') . "\n";
  
// Difference in year, month, days
$datetime1 = date_create('2017-06-28');
$datetime2 = date_create('2018-04-05');
  
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%R%a days') . "\n";
  
?>
Saída:
+365 dias
+61 dias
+281 dias

Referência : http://php.net/manual/en/function.date-diff.php