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ésultat
printf (
"% 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 jours
echo
"Différence entre deux dates :"
... (
$end_date
-
$start_date
) / 60/ 60/24 ;
?>
Sortie : Différence entre deux dates : 103