begin process at 2008 08 29 11:59:28
1 233 606 membres
143 nouveaux aujourd'hui
14 291 membres club

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

Catégorie :Date & Heure Niveau : Initié Date de création : 27/06/2002 Date de mise à jour : 27/06/2002 22:11:04 Vu / téléchargé: 25 092 / 1 427

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

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]+"'>&nbsp;</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&eacute;vrier","Mars","Avril","Mai","Juin","Juillet","Ao&ucirc;t","Septembre","Octobre","Novembre","D&eacute;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]+"'>&nbsp;</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
&lt;script language='JavaScript src='calendrier.js'&gt;&lt;/script&gt;
Pour afficher le calendrie trois facon ...
=&gt; calendrie (mois, année)
=&gt; trimestre(numéro du trimestre, année, option)
=&gt; annuel(année)
Voila ...
A bientot pour de nouvelles aventures
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

  • signaler à un administrateur
    Commentaire de genreJtespit le 29/08/2008 11:11:22

    Désolé, mais je n'ai toujours pas compris comment afficher le calendrier en question ^^ (demiNoob en prog et je l'avoue, mais bon là...).
    On peut l'afficher dans un simple <table> ? Les trois exemples d'affichage que tu a donné sont tout sauf clairs pour moi :p

Ajouter un commentaire

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS