|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
CALENDRIER AVEC LES FERIÉS
Information sur la source
Description
Un Calendrier Grégorien perpétuel avec le calculs des jours férié, même Pâques et les autres...
Source
- var Ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");
- var LesMois=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
- var Semaine = new Array("Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche");
- var DernierJour = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
- var CouleurFond = new Array("white","silver" , "darkgray" , "#808080" , "#999999");
- var Bordure = new Array("gray", "darkgray");
- var Police = new Array("Arial" , "Verdana" , "Verdana" , "Arial");
- var TaillePolice = new Array("1" , "1" , "2" , "-1");
- var CouleurPolice = new Array("white" , "black", "silver" , "darkgray");
- var PositionTexteH = new Array("left" , "center" , "right");
- var PositionTexteV = new Array("top","middle","bottom");
- var CeJour = new Date();
- var n = CeJour.getDay(); // Jour de la semaine
- var j = CeJour.getDate(); // Jour du mois
- var m = CeJour.getMonth(); // Mois
- var a = CeJour.getFullYear(); // Année
- var DimanchePaques = false ;
-
-
- function Ecrit(txt) { document.write(txt) }
-
- function annuel(Lannee) {
- Ecrit("<table>");
- for (var Trim = 0 ; Trim <4 ; Trim ++) {
- Ecrit("<tr>");
- for (var moi = 0 ; moi <3 ; moi ++){
- Ecrit("<td valign='"+PositionTexteV[0]+"' align='"+PositionTexteH[1]+"'>");
- calendrier(3*Trim+moi+1,Lannee);
- Ecrit("</td>");
- }
- Ecrit("</tr>");
- }
- Ecrit("</table>");
- }
-
- function trimestre(Trim,Lannee, Option){
- Ecrit("<table>");
- if (Option == 'h') {
- Ecrit("<tr>");
- for (var tt = 0 ; tt < 3 ; tt++) {
- Ecrit("<td align='"+PositionTexteH[1]+"' valign='"+PositionTexteV[0]+"'>");
- calendrier(3*(Trim-1)+tt+1,Lannee);
- Ecrit("</td>");
- }
- Ecrit("</tr>");
- }
- else
- {
- for (var tt = 0 ; tt < 3 ; tt++) {
- Ecrit("<tr><td align='"+PositionTexteH[1]+"' valign='"+PositionTexteV[0]+"'>");
- calendrier(3*(Trim-1)+tt+1,Lannee);
- Ecrit("</td></tr>");
- }
- }
- Ecrit("</table>");
- }
-
- function isFerie(jf,mf) {
- var i=0
- for(var i in Ferie) {
- if ( test=(((jf<10)?'0'+jf:jf)+'/'+((mf<10)?'0'+mf:mf)) == Ferie[i++]) return true;}
- return false;
- }
-
- function isBissextile(an){ return ((( an % 4 == 0 ) && ( an % 100 != 0 || an % 400 == 0 )) ? true : false ); }
-
- function isWeekEnd(jwe){ return ( ((jwe == 5) || (jwe == 6)) ? true : false ); }
-
- function isPaques(pan){
- DimanchePaques = true;
- var b=pan-1900;
- var c=pan%19;
- var d=Math.floor((7*c+1)/19);
- var e=(11*c+4-d)%29;
- var f=Math.floor(b/4);
- var g=(b+f+31-e)%7;
- var date=25-e-g;
- if (date>0) {mois = 4}
- else {date=31+date; mois=3};
- date = ( (date<10)? '0'+date:date);
- Ferie.push( ((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Dimanche de Pâques
- date+=1;
- if ( (date>31) && (mois=3)) {date=1;mois+=1}
- Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); //Lundi de Pâques férié
- date+=38;
- while (date>31) {var tt=0; date-=DernierJour[mois-1+tt]; tt++ ; mois+=1}
- Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Jeudi de l'ascencion
- date+=10;
- while (date>31) {var tt=0; date-=DernierJour[mois-1+tt]; mois+=1}
- Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Pentecote
-
- }
-
- function calendrier(LeMois, Lannee) {
- var EnCours = new Date(Lannee,LeMois-1);
- var PremierJour = EnCours.getDay();
- if (PremierJour == 0) PremierJour = 7 ;
- if (isBissextile(Lannee)) {DernierJour[1] = 29 ;}
- if (!DimanchePaques) isPaques(Lannee);
- var jour=0;
- Ecrit("<TABLE border=2 cellspacing='0' cellpadding='2' bordercolorlight='"+Bordure[0]+"' bordercolordark='"+Bordure[1]+"'");
- Ecrit("<TR><TD valign='"+PositionTexteV[0]+"' align='"+PositionTexteH[0]+"'>");
-
- Ecrit("<FONT FACE='"+Police[1]+"' size='"+TaillePolice[2]+"' color='"+CouleurPolice[0]+"'><CENTER><B>"+LesMois[LeMois-1]+" "+Lannee+"</B></CENTER></FONT>");
- Ecrit("<TABLE border=1 cellspacing='0' cellpadding='2' bordercolorlight='"+Bordure[0]+"' bordercolordark='"+Bordure[1]+"'");
- Ecrit("<TR>");
- var tt = 0;
- for (temp in Semaine) {
- Ecrit("<TD width='10' bgcolor='"+CouleurFond[4]+"' valign='"+PositionTexteV[0]+"' align='"+PositionTexteH[0]+"'><FONT face='"+Police[2]+"' size='"+TaillePolice[3]+"'color='"+CouleurPolice[1]+"'>"+Semaine[tt++].substring(0,1)+"</FONT></TD>"); }
- Ecrit("</TR>");
- for(var i=0;i<6;i++) {
- Ecrit("<TR>");
- for (j=0;j<7;j++) {
- jour=7*i+j-PremierJour+2;
- if ((7*i+j>=PremierJour-1)&&(jour<=DernierJour[LeMois-1])) {
- if ((jour==j)&&(LeMois==m+1)&&(Lannee==a)) {
- Ecrit("<TD width='10' bgcolor='"+CouleurFond[3]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurFond[1]+"' color='black'><I><U>"+jour+"</I><U></FONT></TD>");}
- else if (isFerie(jour,LeMois) )
- Ecrit("<TD width='10' bgcolor='"+CouleurFond[2]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurPolice[1]+"'>"+jour+"</FONT></TD>");
- else if (isWeekEnd(j))
- Ecrit("<TD width='10' bgcolor='"+CouleurFond[1]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurFond[0]+"'>"+jour+"</FONT></TD>");
- else
- Ecrit("<TD width='10' bgcolor='"+CouleurFond[0]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurPolice[1]+"'>"+jour+"</FONT></TD>");
- }
- else
- Ecrit("<TD width='10' bgcolor='"+CouleurFond[0]+"'><FONT size='"+TaillePolice[3]+"'> </FONT></TD>");
- }
- Ecrit("</TR>");
- if (jour >= DernierJour[LeMois - 1]) {break};
- }
- Ecrit("</TABLE>");
- Ecrit("</TD></TR></TABLE>");
- }
var Ferie=new Array("01/01","01/05","08/05","14/07","15/08","01/11","11/11","25/12");
var LesMois=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
var Semaine = new Array("Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche");
var DernierJour = new Array("31", "28", "31", "30", "31", "30", "31", "31", "30", "31", "30", "31");
var CouleurFond = new Array("white","silver" , "darkgray" , "#808080" , "#999999");
var Bordure = new Array("gray", "darkgray");
var Police = new Array("Arial" , "Verdana" , "Verdana" , "Arial");
var TaillePolice = new Array("1" , "1" , "2" , "-1");
var CouleurPolice = new Array("white" , "black", "silver" , "darkgray");
var PositionTexteH = new Array("left" , "center" , "right");
var PositionTexteV = new Array("top","middle","bottom");
var CeJour = new Date();
var n = CeJour.getDay(); // Jour de la semaine
var j = CeJour.getDate(); // Jour du mois
var m = CeJour.getMonth(); // Mois
var a = CeJour.getFullYear(); // Année
var DimanchePaques = false ;
function Ecrit(txt) { document.write(txt) }
function annuel(Lannee) {
Ecrit("<table>");
for (var Trim = 0 ; Trim <4 ; Trim ++) {
Ecrit("<tr>");
for (var moi = 0 ; moi <3 ; moi ++){
Ecrit("<td valign='"+PositionTexteV[0]+"' align='"+PositionTexteH[1]+"'>");
calendrier(3*Trim+moi+1,Lannee);
Ecrit("</td>");
}
Ecrit("</tr>");
}
Ecrit("</table>");
}
function trimestre(Trim,Lannee, Option){
Ecrit("<table>");
if (Option == 'h') {
Ecrit("<tr>");
for (var tt = 0 ; tt < 3 ; tt++) {
Ecrit("<td align='"+PositionTexteH[1]+"' valign='"+PositionTexteV[0]+"'>");
calendrier(3*(Trim-1)+tt+1,Lannee);
Ecrit("</td>");
}
Ecrit("</tr>");
}
else
{
for (var tt = 0 ; tt < 3 ; tt++) {
Ecrit("<tr><td align='"+PositionTexteH[1]+"' valign='"+PositionTexteV[0]+"'>");
calendrier(3*(Trim-1)+tt+1,Lannee);
Ecrit("</td></tr>");
}
}
Ecrit("</table>");
}
function isFerie(jf,mf) {
var i=0
for(var i in Ferie) {
if ( test=(((jf<10)?'0'+jf:jf)+'/'+((mf<10)?'0'+mf:mf)) == Ferie[i++]) return true;}
return false;
}
function isBissextile(an){ return ((( an % 4 == 0 ) && ( an % 100 != 0 || an % 400 == 0 )) ? true : false ); }
function isWeekEnd(jwe){ return ( ((jwe == 5) || (jwe == 6)) ? true : false ); }
function isPaques(pan){
DimanchePaques = true;
var b=pan-1900;
var c=pan%19;
var d=Math.floor((7*c+1)/19);
var e=(11*c+4-d)%29;
var f=Math.floor(b/4);
var g=(b+f+31-e)%7;
var date=25-e-g;
if (date>0) {mois = 4}
else {date=31+date; mois=3};
date = ( (date<10)? '0'+date:date);
Ferie.push( ((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Dimanche de Pâques
date+=1;
if ( (date>31) && (mois=3)) {date=1;mois+=1}
Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); //Lundi de Pâques férié
date+=38;
while (date>31) {var tt=0; date-=DernierJour[mois-1+tt]; tt++ ; mois+=1}
Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Jeudi de l'ascencion
date+=10;
while (date>31) {var tt=0; date-=DernierJour[mois-1+tt]; mois+=1}
Ferie.push(((date<10)? '0'+date:date)+'/'+((mois<10)?'0'+mois:mois)); // Pentecote
}
function calendrier(LeMois, Lannee) {
var EnCours = new Date(Lannee,LeMois-1);
var PremierJour = EnCours.getDay();
if (PremierJour == 0) PremierJour = 7 ;
if (isBissextile(Lannee)) {DernierJour[1] = 29 ;}
if (!DimanchePaques) isPaques(Lannee);
var jour=0;
Ecrit("<TABLE border=2 cellspacing='0' cellpadding='2' bordercolorlight='"+Bordure[0]+"' bordercolordark='"+Bordure[1]+"'");
Ecrit("<TR><TD valign='"+PositionTexteV[0]+"' align='"+PositionTexteH[0]+"'>");
Ecrit("<FONT FACE='"+Police[1]+"' size='"+TaillePolice[2]+"' color='"+CouleurPolice[0]+"'><CENTER><B>"+LesMois[LeMois-1]+" "+Lannee+"</B></CENTER></FONT>");
Ecrit("<TABLE border=1 cellspacing='0' cellpadding='2' bordercolorlight='"+Bordure[0]+"' bordercolordark='"+Bordure[1]+"'");
Ecrit("<TR>");
var tt = 0;
for (temp in Semaine) {
Ecrit("<TD width='10' bgcolor='"+CouleurFond[4]+"' valign='"+PositionTexteV[0]+"' align='"+PositionTexteH[0]+"'><FONT face='"+Police[2]+"' size='"+TaillePolice[3]+"'color='"+CouleurPolice[1]+"'>"+Semaine[tt++].substring(0,1)+"</FONT></TD>"); }
Ecrit("</TR>");
for(var i=0;i<6;i++) {
Ecrit("<TR>");
for (j=0;j<7;j++) {
jour=7*i+j-PremierJour+2;
if ((7*i+j>=PremierJour-1)&&(jour<=DernierJour[LeMois-1])) {
if ((jour==j)&&(LeMois==m+1)&&(Lannee==a)) {
Ecrit("<TD width='10' bgcolor='"+CouleurFond[3]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurFond[1]+"' color='black'><I><U>"+jour+"</I><U></FONT></TD>");}
else if (isFerie(jour,LeMois) )
Ecrit("<TD width='10' bgcolor='"+CouleurFond[2]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurPolice[1]+"'>"+jour+"</FONT></TD>");
else if (isWeekEnd(j))
Ecrit("<TD width='10' bgcolor='"+CouleurFond[1]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurFond[0]+"'>"+jour+"</FONT></TD>");
else
Ecrit("<TD width='10' bgcolor='"+CouleurFond[0]+"' valign='"+PositionTexteV[1]+"' align='"+PositionTexteH[1]+"'><FONT face='"+Police[0]+"' size='"+TaillePolice[3]+"' color='"+CouleurPolice[1]+"'>"+jour+"</FONT></TD>");
}
else
Ecrit("<TD width='10' bgcolor='"+CouleurFond[0]+"'><FONT size='"+TaillePolice[3]+"'> </FONT></TD>");
}
Ecrit("</TR>");
if (jour >= DernierJour[LeMois - 1]) {break};
}
Ecrit("</TABLE>");
Ecrit("</TD></TR></TABLE>");
}
Conclusion
Il suffit d'enregistrer le code dans un fichier .js (calendrier.js) et de l'appeler dans un fichier html avec la commande <script language='JavaScript src='calendrier.js'></script> Pour afficher le calendrie trois facon ... => calendrie (mois, année) => trimestre(numéro du trimestre, année, option) => annuel(année) Voila ... A bientot pour de nouvelles aventures
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Comparez les prix Nouvelle version
|