Votre campagne ici    
Nous sommes le vendredi 21 novembre 2008    


Accueil
Accueil





Accueil  Les scripts  Dates & heures  
Mise en ligne : lundi 29 mai 2006    
Par : CladX    

Cette fonction vous permet de connaitre le numéro de semaine correspondant a une date donnée

<?php

// ------------------------------------------------------------------------- //
// Cette fonction retourne le numéro de la semaine dans l'année, pour une    //
// date donnée.                                                              //
// ------------------------------------------------------------------------- //
// Auteur: Olivier Lahaye                                                    //
// Email:  lahaye.o@voila.fr                                                 //
// Web:                                                                      //
// ------------------------------------------------------------------------- //
  
function donneMois($date) {
  return 
substr($date,3,2);
}

function 
donneJour($date) {
  return 
substr($date,0,2);
}

function 
donneAnnee($date) {
  return 
substr($date,6,4);
}

function 
donneTimeStamp($date) {
  return 
mktime(0,0,0,donneMois($date),donneJour($date),donneAnnee($date));
}

function 
semaine($date) {

  
// Si le premier jour de l'année est un Lundi, alors on retourne 1.
  
if (date("w",donneTimeStamp("01/01/" donneAnnee($date))) == 1){
    return 
1;
  }

  
$n 0;
  do {
    
$numJour=date("w",donneTimeStamp($n ."/01/" donneAnnee($date)))+1;
    
$n++;
  } while(
$numJour!=1);

  
// Dans la variable $n, on a la date de la premiere semaine complete
  // Si la premiere semaine ne commence pas un Lundi, alors les jours précédents
  // appartiennent Ã  la derniere semaine de l'année précédente (52)
  
if ((donneJour($date) < $n) && (donneMois($date) == "01")){
    return 
52;
  }

  
$nbsemaine 0;

  
// On compte le nombre de semaine avant d'arriver dans celle qui contient le
  // numéro du jour de la date recherché
  
for ($a = (date("z",donneTimeStamp($date))+1); $a $numJour$numJour += 7){
    
$nbsemaine++;
  }

  return 
$nbsemaine;
}

?> 


--- Réagir à cet article ---