Bonjour à tous,
J'aimerais savoir s'il existe une fonction php qui permet de retrouver tous les jours d'une semaine en indiquand simplement le numéro de la semaine en question?
D'avance merci.
Bonjour à tous,
J'aimerais savoir s'il existe une fonction php qui permet de retrouver tous les jours d'une semaine en indiquand simplement le numéro de la semaine en question?
D'avance merci.
La fonction date est ton amie.
Voir aussi ces très bons cours et tutoriels PHP : http://php.developpez.com/cours/
Bonjour lama85,
date ("w") affiche le jour de la semaine de 0 (dimanche) à 6 (samedi).
date ("W") affiche le numéro de la semaine.
Bonne chance...
Merci je vais essayer tout ça! et je redonne des news!
En fait je crois que le problème n'est pas là :
J'ai déjà le numéro de semaine (l'utilisateur le saisie dans un formulaire), et par rapport à ce numéro de semaine saisi, j'aimerais pouvoir afficher toutes les dates qui y correspondent...
J'ai cherché à faire ca avec la fonction date() mais j'y arrive pas!
Il va falloir que tu réalise soit des calculs soit une boucle pour localiser ta semaine. Car les fonctions PHP ne le permettent pas (enfin je pense).
Utilise mktime et date par exemple :
Cela retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php $w = 7; // Pour la 7 ème semaine à rechercher // A voir pour l'année pour les numéros de semaines antérieures à la date // courante for($i = 1; $i <= 365; $i++) { $week = date("W", mktime(0, 0, 0, 1, $i, 2006)); if($week == $w) { echo "Le jour " . $i . " est le premier jour de la semaine numéro : " . $w . "<br />"; // Ensuite pour afficher tous les jours de la semaine for($d = 0; $d < 7; $d++) { echo date("l d/m/Y", mktime(0, 0, 0, 1, $i+$d, 2006)) . "<br />"; } break; } } ?>
Un petit merci ?Le jour 44 est le premier jour de la semaine numéro : 7
Monday 13/02/2006
Tuesday 14/02/2006
Wednesday 15/02/2006
Thursday 16/02/2006
Friday 17/02/2006
Saturday 18/02/2006
Sunday 19/02/2006
Un peu d'humour : jokes.guppix.fr
Articles et actualités informatiques : Kbups.org
Articles sur le développement informatique : nicolaspied.developpez.com
pas un petit merci, mais un très grand MERCI!!!!
C'est droit ce qui me fallait!!
Milles merci c'est trop cool!
J'ai un algo un petit peu différent, histoire de voir une autre méthode possible :
La semaine 1 de l'année est la semaine du 4 janvier (première semaine qui est plus sur l'année que sur la précédente).
On détermine donc la jour de la semaine et le timestamp du 4 janvier. On ajoute le nombre de jours pour "aller" dans la semaine qu'on désire et on a directement un timestamp dans la bonne semaine. Grâce au jour de la semaine du 04/01, on peut retrouver toutes les dates de cette semaine.
Si quelqu'un a encore une autre méthode, ça m'intéresse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <? $semaineVoulue = 32; $janv4 = mktime(0, 0, 0, 1, 4, 2006); $j = date('N', $janv4); // date("N") : Représentation numérique ISO-8601 du jour de la semaine (ajouté en PHP 5.1.0) // jour correspondant à $j dans la semaine voulue $jour = $janv4 + (7*24*3600) * ($semaineVoulue - 1); // on est déjà en semaine une, donc on ajoute une semaine de moins $tab = array(); // tableau contenant la liste des jours de la semaine voulue // pour un jour de la semaine donné (1 <= j <= 7), on a (j-1) jours avant dans la semaine et (7-j) jours après $format = 'Y-m-d'; for($k = $j - 1 ; $k > 0 ; $k--) $tab[] = date($format, $jour - $k * (24*3600)); $tab[] = date($format, $jour); for($k = 1 ; $k <= 7 - $j ; $k++) $tab[] = date($format, $jour + $k * (24*3600)); print_r($tab); ?>
Bonjour,
J'ai voulu utiliser le code ci dessous, mais, lorsqu'on passe en semaine 52 une erreur ce produit et la dernière semaine n'est pas affichée.
En clair, quelque soit l'année ça fonctionne jusqu'à la semaine 51 mais ignore l'affichage des jours de la semaine 52 et passe à l'année suivante ....
// Retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <?php $w = 52; // Pour la 52 ème semaine à rechercher // A voir pour l'année pour les numéros de semaines antérieures à la date // courante for($i = 1; $i <= 365; $i++) { $week = date("W", mktime(0, 0, 0, 1, $i, 2011)); if($week == $w) { echo "Le jour " . $i . " est le premier jour de la semaine numéro : " . $w . "<br />"; // Ensuite pour afficher tous les jours de la semaine for($d = 0; $d < 5; $d++) { echo date("l d/m/Y", mktime(0, 0, 0, 1, $i+$d, 2011)) . "<br />"; } break; } } ?>
Le jour 1 est le premier jour de la semaine numéro : 52
Saturday 01/01/2011
Sunday 02/01/2011
Monday 03/01/2011
Tuesday 04/01/2011
Wednesday 05/01/2011
Pourquoi ce bug et comment le corriger ?
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager