Méthode diff de la classe DateTime
La méthode diff de la classe DateTime prend comme paramètre un autre objet DateTime et retourne un objet DateInterval contenant la différence entre les dates. La différence peut être obtenue dans diverses unités de mesure (jours, mois, années, etc.).
Syntaxe
$interval = $datetime1->diff($datetime2);
Exemple
Calculons la différence entre deux dates :
<?php
$date1 = new DateTime('2023-01-01');
$date2 = new DateTime('2023-02-15');
$interval = $date1->diff($date2);
echo $interval->format('%R%a days');
?>
Résultat de l'exécution du code :
'+45 days'
Exemple
Obtenons la différence en mois et jours :
<?php
$date1 = new DateTime('2023-03-10');
$date2 = new DateTime('2023-05-25');
$interval = $date1->diff($date2);
echo $interval->format('%m months %d days');
?>
Résultat de l'exécution du code :
'2 months 15 days'
Exemple
Comparaison de dates en tenant compte de l'heure :
<?php
$date1 = new DateTime('2023-01-01 10:00:00');
$date2 = new DateTime('2023-01-01 14:30:00');
$interval = $date1->diff($date2);
echo $interval->format('%h hours %i minutes');
?>
Résultat de l'exécution du code :
'4 hours 30 minutes'
Voir aussi
-
la fonction
date,
qui formate une date et une heure -
la fonction
strtotime,
qui convertit une chaîne en timestamp -
la classe
DateInterval,
qui représente un intervalle de dates