Retourner le nombre de samedi entre deux date

Eléphant du PHP | 440 Messages

04 sept. 2013, 13:59

Bonjour à tous,

Je voudrais savoir comment réaliser en php un calcul, qui me permettrait entre deux date de connaitre le nombre de samedi.

Auriez-vous des exemple


Merci d'avance pour vos explications

guigui69

Mammouth du PHP | 571 Messages

04 sept. 2013, 15:48

bonjour,

la première des choses à faire est de mettre la date debut et la date fin au format timestamp pour pouvoir faciliter les calculs.Ainsi tu pourras générer,à l'aide de la fonction range(), toutes les dates comprises entre date debut et date fin avec un pas d'1 jour(86400s). Il faut ensuite parcourir le tableau des dates générées puis comparer chacune des dates correspond à samedi et et dans ce cas on incrémente le nombre de samedi.

en rappel date('w') te donne le jour de la semaine au format numérique(samedi correspond à 6, dimanche à 0, lundi à 1,...)
<?php
//ex:01/9/2013 à 11H50 en format timestamp
$start=mktime(11,50,0,9,1,2013); //date debut 
//ex:18/9/2013 à 11H50 en format timestamp
$end=mktime(11,50,0,9,18,2013);//date fin au format timestamp
$dates=range($start,$end,86400); //génération des dates allant de date de debut à date fin avec un intervalle d'1j soit 86400s
$i=0;//compteur pour jour de la semaine

/*
on parcourt toutes les dates comprises entre la date debut 
et la date de fin et pour chacune des dates on compare si elle correspond à samedi et auquel cas 
on compte le nombre de samedis
*/
foreach($dates as $value){
  if(date('w',$value) ==6){ //la date en cours($value) correspond-t-elle à samedi ? si oui on compte le nombre de samedis
    $i++; 
  }
}
echo "<br>nombre de samedi = ",$i;
?>