Page 1 sur 1

afficher date de debut et fin de la semaine a partir du num

Posté : 16 févr. 2009, 17:20
par Invité
Bonjour

voila tout est dis dans le sujet, je voudrai que lorsque la personne saisi le numero de semaine et l'année cela affiche la date de début de semaine et la fin. Mais je suis perdu avec les dates, je sais pas comment me débrouiller, malgré ça : http://fr2.php.net/manual/fr/function.date.php, je suis perdu

merci

Posté : 16 févr. 2009, 17:44
par zigz4g
Avec le jour de la semaine tu peux savoir combien de jour tu dois ajouter ou retirer pour obtenir ta
date de debut et de fin.

Code : Tout sélectionner

w Jour de la semaine au format numérique 0 (pour dimanche) à 6 (pour samedi)
Tu donne le timestamp de la date saisie et tu fais l'affichage de tes dates.

Posté : 16 févr. 2009, 18:10
par sadeq
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>";
}
?>