lundi 27 janvier 2014
vendredi 17 janvier 2014
[PHP] - Récupérer les dates par le numéro de semaine
Récupérer les dates par le numéro de semaine
function JourParNrSemaine($Semaine,$Annee){
//Définir la date du Lundi de la semaine
// si le 1er janvier est un jeudi -> S53 possible
$PremierJeudi=date("d",strtotime('First Thursday January '.$Annee));
if($PremierJeudi=='08'){$PremierJeudi=1;}
//si le 1er janvier est avant le jeudi
if($PremierJeudi>4){$JourSemaine[1]=date("Y-m-d",strtotime('First Monday January '.$Annee.' +'.($Semaine-1).' Week'));}
//si le 1er janvier est apres le jeudi
if($PremierJeudi<4){$JourSemaine[1]=date("Y-m-d",strtotime('Last Monday January '.$Annee.' +'.($Semaine-1).' Week'));}
//si le 1er janvier est un lundi
if($PremierJeudi==4){$JourSemaine[1]=date("Y-m-d",strtotime('First Thursday January '.$Annee.' +'.($Semaine-1).' Week - 3Days'));}
//remplissage de la semaine
for($i=1; $i<=5;$i++){$JourSemaine[$i]=date("Y-m-d",strtotime($JourSemaine[1].' +'.($i-1).'Day'));}
return $JourSemaine;
}
function JourParNrSemaine($Semaine,$Annee){
//Définir la date du Lundi de la semaine
// si le 1er janvier est un jeudi -> S53 possible
$PremierJeudi=date("d",strtotime('First Thursday January '.$Annee));
if($PremierJeudi=='08'){$PremierJeudi=1;}
//si le 1er janvier est avant le jeudi
if($PremierJeudi>4){$JourSemaine[1]=date("Y-m-d",strtotime('First Monday January '.$Annee.' +'.($Semaine-1).' Week'));}
//si le 1er janvier est apres le jeudi
if($PremierJeudi<4){$JourSemaine[1]=date("Y-m-d",strtotime('Last Monday January '.$Annee.' +'.($Semaine-1).' Week'));}
//si le 1er janvier est un lundi
if($PremierJeudi==4){$JourSemaine[1]=date("Y-m-d",strtotime('First Thursday January '.$Annee.' +'.($Semaine-1).' Week - 3Days'));}
//remplissage de la semaine
for($i=1; $i<=5;$i++){$JourSemaine[$i]=date("Y-m-d",strtotime($JourSemaine[1].' +'.($i-1).'Day'));}
return $JourSemaine;
}
Inscription à :
Articles (Atom)