Bonjour je cherche un petit script php tout bête qui prendrai en entré le numéro de la semaine de l'année en cours.
Et qui pourrait me retourner le premier jour et le dernier jour de la semaine concernée dans le format jj/mm/AAAA ? auriez-vous une petit idée svp ?
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Lun 10 Avr 2006, 8:57 pm
Salut,
Voici un petit code que je viens de réaliser et qui semble fonctionner correctement
PHP:
<?php
//Entrée semaine
$week = '12';
//Calcul du nombre de jours correspondant
$nbday = $week*7;
//On récupère le mois correspondant
$month = date('m', mktime(0, 0, 0, 1, $nbday, 2006));
//On calcul le nombre de jours du mois
$num = cal_days_in_month(CAL_GREGORIAN, $month, 2006);
//Et on calcul enfin le premier et le dernier jour du mois
$firstday = date('d/m/Y', mktime(0,0,0, $month + 1, 1 - $num, 2006));
$lastday = date('d/m/Y', mktime(0,0,0, $month + 1, 0, 2006));
echo 'Premier jour du mois: '.$firstday.'<br>';
echo 'Dernier jour du mois: '.$lastday;
?>
Cependant, il demeure un problème lorsque le numéro de semaine est 'à cheval' sur deux mois ! En fait, de la façon que j'ai co*çu le script, lorsque que tu entres un numéro de semaine il prend en compte le dernier jour de la semaine pour faire les calculs par la suite... Donc à toi de voir si cela te convient, et je te laisse le plaisir de changer le code si cela ne te va pas (il ne te reste plus grand chose à faire du moins )
UZUL33
Inscrit le: 10 Avr 2006
Messages: 9
Posté le: Mar 11 Avr 2006, 10:23 am
Merci pour ton coup de main et surtout de la rapidité de ta réponse,
seulement l'interval que je souhaiteria afficher concerne le 1 er jour et le dernier de la semaine concerné.
CAD pour la semaine '16' de l'année 2006 retourner 17/04/2006 au 23/04/2006 (idéallement que les jours ouvrés soit du 17/04/2006 au 21/04/2003, mais bon, la première version serait déjà parfaite).
J'ai cherché dans la voie du date("%w") mais je manque de relais pour la suite, car j'ai en entrée le numéro de la semaine
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Mer 12 Avr 2006, 8:04 pm
Oups ! C'est bien d'aller vite, mais c'est encore mieux de lire complètement la demande du posteur
Voici la réponse (qui est encore plus simple que la précédente, dans le sens où il y a moins de lignes de code ):
PHP:
<?php
//Entrée semaine
$week = '11';
//Calcul du nombre de jours correspondant
$num = $week*7;
//Et on calcul enfin le premier et le dernier jour de la semaine
$firstday = date('d/m/Y', mktime(0,0,0, 1, $num - 5, 2006));
$lastday = date('d/m/Y', mktime(0,0,0, 1, $num + 1, 2006));
echo 'Premier jour de la semaine: '.$firstday.'<br>';
echo 'Dernier jour de la semaine: '.$lastday;
?>
UZUL33
Inscrit le: 10 Avr 2006
Messages: 9
Posté le: Jeu 13 Avr 2006, 12:56 pm
Alors là je dis merci UN GRAND MERCI et BRAVO !!
fonctionne au poil et j'ai meme parametré le dernier jour en Vendredi ou dimanche seloin choix utilisateur, là je m'incline respectueusement...
je crois que je vais resté et béat d'admiration
Encore grand merci à toi, insiste un peu tu finira en divinité
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Jeu 13 Avr 2006, 8:10 pm
Alors là je dis merci UN GRAND MERCI et BRAVO !!
fonctionne au poil et j'ai meme parametré le dernier jour en Vendredi ou dimanche seloin choix utilisateur, là je m'incline respectueusement...
je crois que je vais resté et béat d'admiration
Encore grand merci à toi, insiste un peu tu finira en divinité
Lol Faut pas trop en faire non plus
Merci quand même...
Vous pouvez poster de nouveaux sujets dans ce forum Vous pouvez répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1