par
sadeq » 16 févr. 2009, 18:10
Une idée: tu parcours le calendrier mois par mois et jour par jour et quand tu trouve une date qui correspond à la semaine recherchée (fonction: date('W')) alors tu mémorise les dates trouvées dans un tableau. Et à la fin tu aura la date de début de la semaine recherchée dans la case 0 du tableau et celle de fin de la semaine dans la dernière case du tableau (count(tableau)-1)
Voici un exemple:
<?php
// paramètres fixé
$semaine = 2;
$année = 2009;
// calculer les dates et rechercher celles correspondant à la semaine recherchée
$tab_dates = array(); // mémoire des dates à trouver
for ($mois=1; $mois<=12; $mois++){
for ($jour=1; $jour<=31; $jour++){
// si la date est valide
if (checkdate($mois, $jour, $année)){
// si la date correspond à la semaine recherchée
$date = mktime(0,0,0,$mois, $jour, $année);
if (date("W", $date) == $semaine){
// mémoriser la date trouvée
$tab_dates[] = date("l d/m/Y", $date);
}
}
}
}
// afficher les dates de début et de fin de la semaine recherchée
$nb_dates = count($tab_dates); // nombre de dates trouvées
if ($nb_dates <=0) echo "Aucune date n'est trouvée!";
else {
echo "<p>Date de début de la semaine " . $semaine . ": " . $tab_dates[0] . "</p>";
echo "<p>Date de fin de la semaine " . $semaine . ": " . $tab_dates[$nb_dates-1] . "</p>";
}
?>
Une idée: tu parcours le calendrier mois par mois et jour par jour et quand tu trouve une date qui correspond à la semaine recherchée (fonction: date('W')) alors tu mémorise les dates trouvées dans un tableau. Et à la fin tu aura la date de début de la semaine recherchée dans la case 0 du tableau et celle de fin de la semaine dans la dernière case du tableau (count(tableau)-1)
Voici un exemple:
[php]
<?php
// paramètres fixé
$semaine = 2;
$année = 2009;
// calculer les dates et rechercher celles correspondant à la semaine recherchée
$tab_dates = array(); // mémoire des dates à trouver
for ($mois=1; $mois<=12; $mois++){
for ($jour=1; $jour<=31; $jour++){
// si la date est valide
if (checkdate($mois, $jour, $année)){
// si la date correspond à la semaine recherchée
$date = mktime(0,0,0,$mois, $jour, $année);
if (date("W", $date) == $semaine){
// mémoriser la date trouvée
$tab_dates[] = date("l d/m/Y", $date);
}
}
}
}
// afficher les dates de début et de fin de la semaine recherchée
$nb_dates = count($tab_dates); // nombre de dates trouvées
if ($nb_dates <=0) echo "Aucune date n'est trouvée!";
else {
echo "<p>Date de début de la semaine " . $semaine . ": " . $tab_dates[0] . "</p>";
echo "<p>Date de fin de la semaine " . $semaine . ": " . $tab_dates[$nb_dates-1] . "</p>";
}
?>[/php]