Calcul sur les dates : afficher les semaines d'un mois donné
Posté : 26 oct. 2008, 11:53
Je travaille sur une fonction pour calculer les semaines d'un mois.
Voici la fonction :
OCTOBRE 2008 | 01.10.08 au 05.10.08 | 06.10.08 au 12.10.08 | 13.10.08 au 19.10.08 | 20.10.08 au 26.10.08 | 27.10.08 au 31.10.08
Or je n'arrive pas à trouver le bug qui fait que ma fonction affiche jusqu'au 2 novembre (soit la semaine complète) et non jusqu'au 31.10...
Une petite idée ?
Bisvan
Voici la fonction :
function semainesDuMois($datedebut, $datefin) {
$explDateD = explode('/', $dateDebut);
$explDateF = explode('/', $dateFin);
$dateD = $explDateD[2].'-'.$explDateD[1].'-'.$explDateD[0];
$dateF = $explDateF[2].'-'.$explDateF[1].'-'.$explDateF[0];
$toTimeStart = strtotime($dateD);
$toTimeEnd = strtotime($dateF);
$jourDeb = date('w', $toTimeStart);
// début de construction du tableau
echo '<table width="55%" border="0" cellspacing="0" cellpadding="0"><tr>
<td>NOM DU MOIS</td> ';
// boucle sur les semaines
while ($toTimeStart < $toTimeEnd) {
$joursRestant = 7 - $jourDeb;
echo date('d\.m\.y', $toTimeStart).' au ';
$toTimeStart = strtotime('+'.$joursRestant.' day', $toTimeStart);
echo date('d\.m\.y', $toTimeStart).'<br />';
$toTimeStart = strtotime('+ 1 day', $toTimeStart);
$jourDeb = date('w', $toTimeStart);
}
// Suite et fin du tableau
echo '</tr></table>';
}
Le but étant d'afficher un tableau de ce type :OCTOBRE 2008 | 01.10.08 au 05.10.08 | 06.10.08 au 12.10.08 | 13.10.08 au 19.10.08 | 20.10.08 au 26.10.08 | 27.10.08 au 31.10.08
Or je n'arrive pas à trouver le bug qui fait que ma fonction affiche jusqu'au 2 novembre (soit la semaine complète) et non jusqu'au 31.10...
Une petite idée ?
Bisvan
en haut à gauche de ce sujet.