Comment calculer la différence entre deux dates en PHP ?

| | | | | | |
Exemples :
Entrée : start_date : 2016-06-01 22:45:00 end_date : 2018-09-21 10:44:01 Sortie : 2 ans, 3 mois, 21 jours, 11 heures, 59 minutes, 1 seconde Entrée : start_date : 2015-05-12 12:37:30 end_date : 2018-04-25 12:45:31 Sortie : 2 ans, 11 mois, 19 jours, 0 heure, 8 minutes, 1 seconde 
< b>Méthode 1 :Utilisez la fonction date_diff() pour trouver la différence entre deux dates.Méthode 2 :Utilisez la formule mathématique date-heure pour trouver la différence entre deux dates. Renvoie les années, mois, jours, heures, minutes, secondes entre deux dates spécifiées.Programme :< ? php
// Déclarer et définir deux dates$date1 = strtotime ( "2016-06-01 22:45:00" ); $date2 = strtotime ( "2018-09-21 10:44:01" );
// Formuler la différence entre les deux dates $diff = abs ( $date2 - $date1 );
// Pour obtenir l`année, divisez la date reçue par
// nombre total de secondes dans une année (365 * 60 * 60 * 24)$ans = plancher ( $diff / (365 * 60 * 60 * 24));
// Pour obtenir le mois, soustrayez-le les années et
// diviser la date résultante par
// nombre total de se conds en un mois (30 * 60 * 60 * 24)$mois = plancher (( $diff - $ans * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24));
// Pour obtenir un jour, soustrayez-le des années et
// mois et diviser la date résultante par
// nombre total de secondes en jours (60 * 60 * 24)$jours = sol (( $diff - $ans * 365 * 60 * 60 * 24 - $mois * 30 * 60 * 60 * 24) / (60 * 60 * 24));
// Pour obtenir l`heure, soustrayez-la au fil des ans
// mois et secondes et divisez la valeur résultante
// date en nombre total de secondes en heures (60 * 60)$heures = étage (( $diff - $ans * 365 * 60 * 60 * 24 - $mois * 30 * 60 * 60 * 24 - $jours * 60 * 60 * 24) / (60 * 60));
// Pour obtenir des minutes, soustrayez ceci au fil des années
// mois, secondes et heures et divisez
// la date résultante en nombre total de secondes, soit 60$minutes = floor (( $diff - $ans * 365 * 60 * 60 * 24 - $mois * 30 * 60 * 60 * 24 - $jours * 60 * 60 * 24 - $heures * 60 * 60) / 60); < br>// Pour obtenir des minutes, soustrayez ceci au fil des années
// mois, secondes, heures et minutes$secondes = étage (( $diff - $ans * 365 * 60 * 60 * 24 - $mois * 30 * 60 * 60 * 24 - $jours * 60 * 60 * 24 - $heures * 60 * 60 - $minutes * 60));
// Imprimer le résultatprintf ( "% d années,% d mois,% d jours,% d heures," . "% d minutes, % d secondes" , $ans , $mois , $jours , $heures , $minutes , $secondes ); ?>
Sortie :
2 ans, 3 mois, 21 jours, 11 heures, 59 minutes, 1 seconde 
Méthode 3 :Cette méthode est utilisée pour obtenir le nombre total de jours entre deux dates spécifiées.
// Déclarer deux dates$start_date = strtotime ( " 2018-06-08 " ); $end_date = strtotime ( "2018-09-19" );
// Obtenez la différence et divisez par // rien du tout. 60/60/24 secondes pour obtenir
// nombre de joursecho "Différence entre deux dates :" ... ( $end_date - $start_date ) / 60/ 60/24 ; ?>
Sortie :
Différence entre deux dates : 103