1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| <html><title>Test Date</title><head>
<script type="text/javascript">
function test(){
var uneDate=document.getElementById('test').value;
var elem = uneDate.split('/');
jj = elem[0];
mm = elem[1]-1;
aaaa = elem[2];
var date_liv = DefSemaineNum(aaaa, mm, jj);
alert(date_liv);
}
/******************************************************
FONCTION QUI DETERMINE LE NUMERO DE LA SEMAINE EN COURS
******************************************************/
function DefSemaineNum(aaaa, mm, jj)
{
//initialisation des variables
//----------------------------
var MaDate = new Date(aaaa,mm,jj);//date a traiter
var annee = MaDate.getFullYear();//année de la date à traiter
var NumSemaine = 0,//numéro de la semaine
// calcul du nombre de jours écoulés entre le 1er janvier et la date à traiter.
// ----------------------------------------------------------------------------
// initialisation d'un tableau avec le nombre de jours pour chaque mois
ListeMois = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
// si l'année est bissextile alors le mois de février vaut 29 jours
if (annee %4 == 0 && annee %100 !=0 || annee %400 == 0) {ListeMois[1]=29};
// on parcours tous les mois précédants le mois à traiter
// et on calcul le nombre de jour écoulé depuis le 1er janvier dans TotalJour
var TotalJour=0;
for(cpt=0; cpt<mm; cpt++){TotalJour+=ListeMois[cpt];}
TotalJour+=jj;
//Calcul du nombre de jours de la première semaine de l'année à retrancher de TotalJour
//-------------------------------------------------------------------------------------
//on initialise dans DebutAn le 1er janvier de l'année à traiter
DebutAn = new Date(annee,0,1);
//on determine ensuite le jour correspondant au 1er janvier
//de 1 pour un lundi à 7 pour un dimanche/
var JourDebutAn;
JourDebutAn=DebutAn.getDay();
if(JourDebutAn==0){JourDebutAn=7};
//Calcul du numéro de semaine
//----------------------------------------------------------------------
//on retire du TotalJour le nombre de jours que dure la première semaine
TotalJour-=8-JourDebutAn;
//on comptabilise cette première semaine
NumSemaine = 1;
//on ajoute le nombre de semaine compléte (sans tenir compte des jours restants)
NumSemaine+=Math.floor(TotalJour/7);
// s'il y a un reste alors le n° de semaine est incrémenté de 1
if(TotalJour%7!=0){NumSemaine+=1};
return(NumSemaine);
}
</script>
</head>
<body>
<input type="text" id="test"><input type="button" id="buton" onClick="test();">
<script type="text/javascript">
/*aaaa = eval(prompt('Entrez l\'année (aaaa) :', ''));
mm = eval(prompt('Entrez le mois (mm) :', ''))-1;
jj = eval(prompt('Entrez le jour (jj) :', ''));
document.write('Semaine numero : '+DefSemaineNum(aaaa, mm, jj));*/
</script>
</body>
</html> |
Partager