Pour faire la différence entre deux dates, il faut utiliser les fonctions suivantes :
* explode() qui permettra de récuperer le jour, le mois et l'année.
* mktime() qui nous donnera le timestamp pour effectuer les calculs.
Pour obtenir le nombre de jours ou le nombre de semaines entre deux dates, il faut donc procéder comme ceci :
//Définition des date au format jour-mois-année
$date1 = "12-07-2003";
$date2 = "15-06-2003";
//Extraction des données
list($jour1, $mois1, $annee1) = explode('-', $date1);
list($jour2, $mois2, $annee2) = explode('-', $date2);
//Calcul des timestamp
$timestamp1 = mktime(0,0,0,$mois1,$jour1,$annee1);
$timestamp2 = mktime(0,0,0,$mois2,$jour2,$annee2);
echo abs($timestamp2 - $timestamp1)/86400; //Affichage du nombre de jour : 27
echo abs($timestamp2 - $timestamp1)/(86400*7); //Affichage du nombre de semaine : 3.85
On utilise abs afin d'obtenir toujours une valeur positive, donc les dates peuvent être mises dans n'importe quel ordre.
Partager