Bonjour,
je souhaiterais savoir comment calculer une durée entre 2 dates, sans utiliser la fonction timediff (ancienne version de PHP oblige car EasyPHP ne gère qu'a partir de la 1.8 et j'utilise la 1.7...).
Merci d'avance.
<?php
function facteur($jour , $mois , $annee){
$b=365*$annee;
$c=31*($mois-1);
if (($mois==1) || ($mois==2)){
$d= 0;
$e = intval(($annee -1)/4);
$h = intval(0.75*(intval(($annee-1)/100)+1));
}
else {
$d= intval(0.4*$mois+2.3);
$e = intval($annee/4);
$h = intval(0.75*(intval($annee/100)+1));
}
$result = $jour + $b+ $c - $d +$e -$h;
return $result;
}
function diff_dates_cal_greg($jour1 , $mois1 , $annee1 , $jour2 , $mois2 , $annee2){
$diff = facteur($jour2 , $mois2 , $annee2)-facteur($jour1 , $mois1 , $annee1);
return $diff;
}
?>
Utilisation de la fonction :
<html>
<head>
<title>Difference entre deux dates</title>
</head>
<body>
Différence (en nombre de jours) entre le 9 mars 2003 et le 2 avril 2003 :
<?php
echo diff_dates_cal_greg("9", "3", "2003", "2", "4", "2003");
?>
</body>
</html>
Vu sur phpfacile