Exemple
|
La function a mettre dans un script :
function calculeAnnee(num) {
var an={ } ;
an.nummois=[0,0,0,0];
an.nbmois=[0,0,0] ;
an.molad=[0,0];
an.numjour=[0,0];
an.numannee=num;
// Calcul du nombre de mois
for (i = 0; i <= 3; i++) {
an.nummois[i]=Math.floor((235*(an.numannee-1+i)-234)/19);
}
for (i = 0; i <= 2; i++) {
an.nbmois[i]=an.nummois[i+1]-an.nummois[i];
}
// Calcul des 2 naissances de lune et des deux Rosh Hashana
for (i = 0; i <= 1; i++) {
an.molad[i]=an.nummois[i+1]*765433+63924;
var jour = Math.floor(an.molad[i] / 1080 / 24);
var joursem = jour - 7 * Math.floor(jour / 7);
var heure = an.molad[i]- jour * 1080 * 24;
if (joursem == 1 || joursem == 4 || joursem == 6 ){
jour = jour + 1;
} else if (an.nbmois[i+1] == 12 && joursem == 3 && heure >= 16404 ){
jour = jour + 2
}else if (an.nbmois[i]== 13 && joursem == 2 && heure >= 23269 ){
jour = jour + 1
}
an.numjour[i]=jour;
// calcrh = #1/1/1900# + (jour - 2067023 - 2)
}
// Infos anecdotiques
an.nbjour=an.numjour[1]-an.numjour[0];
an.dec=an.nbjour-30*an.nbmois[1]+6;
// Calcul des fĂȘtes les plus connues
an.rosh=new Date();
an.rosh.setFullYear(1900,0,1,0,0,0,0);
an.rosh.setDate(an.numjour[0]-2067024)
an.kippour=new Date(an.rosh);
an.kippour.setDate(an.kippour.getDate()+9);
an.soukkot=new Date(an.rosh);
an.soukkot.setDate(an.rosh.getDate()+14);
an.nbjour=an.numjour[1]-an.numjour[0];
an.decalage=an.nbjour-30*an.nbmois[1]+6;
an.hannouka=new Date(an.rosh);
dechak=83;
if (an.dec==1)
dechak=84
an.hannouka.setDate(an.rosh.getDate()+dechak);
debadar=148+an.dec;
if (an.nbmois[1]==13)
debadar=debadar+30;
an.pourim=new Date(an.rosh);
an.pourim.setDate(an.rosh.getDate()+debadar+13);
an.pessah=new Date(an.rosh);
an.pessah.setDate(an.rosh.getDate()+debadar+43);
an.shavouot=new Date(an.rosh);
an.shavouot.setDate(an.rosh.getDate()+debadar+93);
return an;
}
Exemple d'utilisation :
a=calculeAnnee(5774);
document.write("",5774,":",a.nbmois[1],
" mois ", a.nbjour," jours, dec :",a.dec," ");
document.write("Rosh :",formatDate(a.rosh)," ");
document.write("Kippour : ",formatDate(a.kippour)," ");
document.write("Soukkot : ",formatDate(a.soukkot)," ");
document.write("Hannouka : ", formatDate(a.hannouka)," ");
document.write("Pourim : ", formatDate(a.pourim)," ");
document.write("Pessah:",formatDate(a.pessah)," ");
document.write("Shavouot",formatDate(a.shavouot), "");
|