Fonction PHP date_diff ()

Définition et utilisation

La fonction date_diff () est un alias de DateTime :: diff . Cela accepte deux objets DateTime comme paramètres et restitue la différence entre eux.

Syntaxe

date_diff($datetime1, $datetime2[, $absolute])

Paramètres

Sr.Non Paramètre et description
1

datetime1(Mandatory)

Il s'agit d'un objet DateTime, représentant l'une des dates de la comparaison.

2

$datetime2 (Mandatory)

Il s'agit d'un objet DateTime, représentant l'une des dates de la comparaison.

3

$absolute (Optional)

Une valeur booléenne indiquant si la différence d'intervalle doit être doit être positive

Valeurs de retour

La fonction PHP date_diff () renvoie un objet DateInterval spécifiant la différence entre les deux dates données. En cas d'échec, cette fonction renvoie false .

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5.3.0 de PHP et fonctionne avec toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation de la fonction date_diff () -

<?php
   //Creating a DateTime object
   $date1 = date_create("25-09-1989");
   $date2 = date_create("1-09-2012");
   $interval = date_diff($date1, $date2);
   print($interval->format('%Y years %d days'));
?>

Cela produira le résultat suivant -

22 years 7 days

Exemple

L'exemple suivant calcule la différence entre une date donnée et la date actuelle -

<?php
   $date1 = date_create("25-09-1989");
   $date2 = date_create();
   $interval = date_diff($date1, $date2);
   print($interval->format('%Y years %d days'));  
?>

Cela produira le résultat suivant -

30 years 14 days

Exemple

<?php
   //Creating a DateTime object
   $date1 = date_create("25-09-2012");
   $date2 = date_create("1-09-2014");
   $interval = date_diff($date1, $date2);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date3 = date_create("25-09-1989");
   $date4 = date_create("19-03-2012");
   $interval = date_diff($date3, $date4);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date5 = date_create("16-11-2002");
   $date6 = date_create("12-09-2014");
   $interval = date_diff($date5, $date6);
   print($interval->format('%Y years %m months %d days'));
   print("\n");
   $date7 = date_create("25-09-1989");
   $date8 = date_create("1-09-2012");
   $interval = date_diff($date7, $date8);
   print($interval->format('%Y years %m months %d days'));
?>

Cela produira le résultat suivant -

01 years 11 months 7 days
22 years 5 months 23 days
11 years 9 months 27 days
22 years 11 months 7 days