Bonjour à tous,
J'ai fait une petite fonction et je voudrais savoir si j'ai bien tout géré.
Cette fonction prend en paramètre un numéro de semaine et une année et retourne la date du début et de fin de semaine.
Voici la "bête"
Optimisation ? Erreur(s) ? Amélioration ?
A vos claviers
Modifié par ffwrude (14 Mar 2013 - 16:36)
J'ai fait une petite fonction et je voudrais savoir si j'ai bien tout géré.
Cette fonction prend en paramètre un numéro de semaine et une année et retourne la date du début et de fin de semaine.
Voici la "bête"
function get_date_semaine($y,$w){
$x=1;
$tableau_mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
for($semaine=1;$semaine<=52;$semaine++){
for($mois=1;$mois<=12;$mois++){
for($jour=1;$jour<=date("t",mktime(0,0,0,$mois,1,$y));$jour++){
if(date("W",mktime (0,0,0,$mois,$jour,$y)) == $w){
if($w == 52 && $jour == 1){ //Cas particulier
continue;
}
$jour = str_pad($jour,2,0,STR_PAD_LEFT);
$mois = str_pad($mois,2,0,STR_PAD_LEFT);
if($x == 1){
$date_debut_fr = $jour."-".$mois."-".$y;
$date_debut_us = $y."-".$mois."-".$jour;
$date_debut_texte = $jour." ".$tableau_mois[$mois*1]." ".$y;
}else if(date("N",mktime(0,0,0,$mois,$jour,$y)) == 7){
$date_fin_fr = $jour."-".$mois."-".$y;
$date_fin_us = $y."-".$mois."-".$jour;
$date_fin_texte = $jour." ".$tableau_mois[$mois*1]." ".$y;
return array($date_debut_us,$date_fin_us,$date_debut_fr,$date_fin_fr,$date_debut_texte,$date_fin_texte);
}
$x++;
}
}
}
}
}
Optimisation ? Erreur(s) ? Amélioration ?
A vos claviers

Modifié par ffwrude (14 Mar 2013 - 16:36)