[PHP] - Problème de semaines
Résolu
CrowCrow
Messages postés
553
Date d'inscription
Statut
Membre
Dernière intervention
-
ciske -
ciske -
Bonjour,
voilà, j'ai un petit casse-tête avec une histoire de semaine.
Actuellement, j'ai un formulaire avec une liste déroulante contenant les numéros de semaines. Cependant, c'est pas très pratique, car ça nécessite d'avoir un calendrier sous la main pour s'y retrouver...
J'ai cherché une solution, mais sans résultat (peut-être que je n'ai pas cherché correctement)
J'ai bien tenter quelques bidouilles avec la fonction date() mais sans résultat.
Donc je me tourne vers vous en espérant trouver une solution.
Petite précision, pour facilité le tout, la période que doit gérer la liste s'étend de la dernière semaine d'Août à la deuxième semaine de Septembre (sois 55 semaines)
Merci d'avance pour vos réponses.
voilà, j'ai un petit casse-tête avec une histoire de semaine.
Actuellement, j'ai un formulaire avec une liste déroulante contenant les numéros de semaines. Cependant, c'est pas très pratique, car ça nécessite d'avoir un calendrier sous la main pour s'y retrouver...
J'ai cherché une solution, mais sans résultat (peut-être que je n'ai pas cherché correctement)
J'ai bien tenter quelques bidouilles avec la fonction date() mais sans résultat.
Donc je me tourne vers vous en espérant trouver une solution.
Petite précision, pour facilité le tout, la période que doit gérer la liste s'étend de la dernière semaine d'Août à la deuxième semaine de Septembre (sois 55 semaines)
Merci d'avance pour vos réponses.
A voir également:
- [PHP] - Problème de semaines
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Comment calculer les semaines de grossesse - Télécharger - Vie quotidienne
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
5 réponses
bonjour, je ne voit pas trop ou est le problème, il te suffit d'ajouter la correspondance de chaque n° semaine par la date de celle-ci.
Au lieu d'afficher
semaine 1 tu affiche semaine 1 (du 29/12/08 au 05/01/09)
non?
Au lieu d'afficher
semaine 1 tu affiche semaine 1 (du 29/12/08 au 05/01/09)
non?
Certes je pourrais le faire à la main (enfin, c'est ce que j'ai compris de votre réponse). ça serait une solution facile si il n'y avait que la période 2009-2010. Mais je me vois ma le faire pour 2010-2011/2011-2012/2012-2013/2013-2014/etc...
Ce que je recherche c'est obtenir la date de début de semaine et de fin de semaine en fonction du numéro de semaine.
Ce que je recherche c'est obtenir la date de début de semaine et de fin de semaine en fonction du numéro de semaine.
ah oui pardon je ne voyait pas ça, comme ça.
J'ai trouvé ça si ça peut t'aider:
http://www.phpindex.com/index.php/2000/10/24/359-calcul-d-une-date-a-partir-du-numero-de-la-semaine
J'ai trouvé ça si ça peut t'aider:
http://www.phpindex.com/index.php/2000/10/24/359-calcul-d-une-date-a-partir-du-numero-de-la-semaine
function get_debut_fin_from_week($week, $annee) {
$debut = mktime(0, 0, 0, 1, 4, $annee); // la semaine 1 est la semaine du 4 janvier
$jour = date('w', $debut);
if ($jour == 0) $jour = 7; // dimanche
$debut -= 3600 * 24 * ($jour - 1); // on se place le lundi de la semaine 1
$debut += (3600 * 24 * 7 * ($week - 1)); // lundi de la semaine $week
return "semaine du " . date('d/m/Y', $debut) . " au " . date('d/m/Y', $debut + 3600 * 24 * 6);
}
$debut = mktime(0, 0, 0, 1, 4, $annee); // la semaine 1 est la semaine du 4 janvier
$jour = date('w', $debut);
if ($jour == 0) $jour = 7; // dimanche
$debut -= 3600 * 24 * ($jour - 1); // on se place le lundi de la semaine 1
$debut += (3600 * 24 * 7 * ($week - 1)); // lundi de la semaine $week
return "semaine du " . date('d/m/Y', $debut) . " au " . date('d/m/Y', $debut + 3600 * 24 * 6);
}
Merci ^^
Mais je venais juste de trouver ce lien.
Normalement, il corresponds à ce que je veux faire. Mais je dois l'adapter aux templates Smarty pour pouvoir vérifier.
EDIT: Après test, c'est bien ce qu'il me faut. Merci de ton aide quand même :) Cependant pour obtenir le numéro de semaine que l'on peut retrouver sur les calendriers "cartons", il faut remplacer
par
Mais je venais juste de trouver ce lien.
Normalement, il corresponds à ce que je veux faire. Mais je dois l'adapter aux templates Smarty pour pouvoir vérifier.
EDIT: Après test, c'est bien ce qu'il me faut. Merci de ton aide quand même :) Cependant pour obtenir le numéro de semaine que l'on peut retrouver sur les calendriers "cartons", il faut remplacer
strftime("%W",mktime(0,0,0,01,01,$year))==1
par
date("W",mktime(0,0,0,01,01,$year))==1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
function get_debut_fin_from_week($week, $annee) {
$debut = mktime(0, 0, 0, 1, 4, $annee); // 4 janvier de l'année (semaine 1)
$jour = date('w', $debut);
if ($jour == 0) $jour = 7; // dimanche
$debut -= 3600 * 24 * ($jour - 1); // on se place le lundi de la semaine 1
$debut += (3600 * 24 * 7 * ($week - 1)); // lundi de la semaine $week
return "semaine du " . date('d/m/Y', $debut) . " au " . date('d/m/Y', $debut + 3600 * 24 * 6);
}
$debut = mktime(0, 0, 0, 1, 4, $annee); // 4 janvier de l'année (semaine 1)
$jour = date('w', $debut);
if ($jour == 0) $jour = 7; // dimanche
$debut -= 3600 * 24 * ($jour - 1); // on se place le lundi de la semaine 1
$debut += (3600 * 24 * 7 * ($week - 1)); // lundi de la semaine $week
return "semaine du " . date('d/m/Y', $debut) . " au " . date('d/m/Y', $debut + 3600 * 24 * 6);
}