Calendrier annuel universel avec saints du calendrier et fêtes mobiles

Soyez le premier à donner votre avis sur cette source.

Vue 13 528 fois - Téléchargée 1 136 fois

Description

Un script d'encombrement réduit (mois de 7Ko !) affichant le calendrier de l'année à l'ouverture de la page mais susceptible d'afficher par simples clics les différentes années du calendrier grégorien.
Établi à partir de la liste des saints du jour publiée par tefa24600 ce calendrier, de présentation traditionnelle type pompiers ou PTT, indique notamment les fêtes mobiles (mercredi des Cendres, jeudi de l'Ascension et dimanche de Pentecôte) dont les sièges sont liées à celui de la date de Pâques.
Le script illustre la possibilité de stocker des données sous forme de chaînes et donc de fichiers textes ou javascript constituant de mini-bases de données. La généralisation de l'utilisation de tels fichiers pourrait faciliter les transmissions et échanges de données.

Source / Exemple :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Calendrier</title>
<style type="text/css">
body {margin:0;padding:0;font:10px/13px "Courier New",Courier,monospace}
h1 {margin:20px;padding:0;font:16px/20px;text-align:center;}
a {text-decoration:none;color:#909;}
.mst {font-size:12px}
#cal {display:block;position:relative;margin:0 auto;width:840px;height:900px;overflow:hidden;}
.clc {display:block;position:absolute;width:200px;padding:1px;background:#fff;}
</style>
</head>
<body>
<h1><a href="javascript:newAnn(-20)" title="Recul rapide - 20ans)">««</a>&nbsp;<a href="javascript:newAnn(-1)" title="Année précédente">«</a>&nbsp;Calendrier <span id="ida"></span>&nbsp;<a href="javascript:newAnn(+1)" title="Année suivante">»</a>&nbsp;<a href="javascript:newAnn(+20)" title="Avance rapide - 20 ans">»»</a>&nbsp;</h1>
<div id="cal"></div>
<script type="text/javascript">
var mos='Janvier|Février|Mars|Avril|Mai|Juin|Juillet|Août|Septembre|Octobre|Novembre|Décembre'.split(/\|/g);
var tSt="Jour de l'an|St Basile|Ste Geneviève|St Odilon|St Edouard|Ste Mélaine|St Raymond|St Lucien|Ste Alix|St Guillaume|St Paulin|Ste Tatiana|Ste Yvette|Ste Nina|St Rémi|St Marcel|Ste Roseline|Ste Prisca|St Marius|St Sébastien|Ste Agnès|St Vincent|St Barnard|St François de Sales|St Apollos|Ste Paule|Ste Angèle|St Thomas d'Aquin|St Gildas|Ste Martine|Ste Marcelle|Ste Ella|St Théophane|St Blaise|Ste Véronique|Ste Agathe|St Gaston|Ste Eugénie|Ste Jacqueline|Ste Apolline|St Arnaud|ND de Lourdes|St Félix|Ste Béatrice|St Valentin|St Claude|Ste Julienne|St Alexis|Ste Bernadette|St Gabin|Ste Aimée|St Damien|Ste Isabelle|St Lazare|St Modeste|St Roméo|St Nestor|Ste Honorine|St Romain|St Auguste|St Aubin|St Jaouen|St Gwénola|St Casimir|St Olive|Ste Colette|Ste Félicité|St Jean de Dieu|Ste Françoise|St Vivien|Ste Rosine|Ste Justine|St Rodrigue|Ste Mathilde|Ste Louise|Ste Bénédicte|St Patrick|St Cyrille|St Joseph|St Herbert|Ste Clémence|Ste Léa|St Victorien|Ste Karine|Annonciation|Ste Lara|St Habib|St Gontran|Ste Gwladys|St Amédée|St Benjamin|St Hugues|Ste Sandrine|St Richard|St Isidore|Ste Irène|St Marcellin|St Jean-Baptiste|Ste Julie|St Gautier|St Fulbert|St Stanislas|St Jules|Ste Ida|St Maxime|St Paterne|St Benoît-Joseph|St Anicet|St Parfait|Ste Emma|Ste Odette|St Anselme|St Alexandre|St Georges|St Fidèle|St Marc|Ste Alida|Ste Zita|Ste Valérie|Ste Catherine|St Robert|St Jeremie|St Boris|St Philippe|St Sylvain|Ste Judith|Ste Prudence|Ste Gisèle|St Désiré|Ste Pacôme|Ste Solange|Ste Estelle|St Achille|Ste Rolande|St Matthias|Ste Denise|St Honoré|St Pascal|St Eric|St Yves|St Bernardin|St Constantin|St Emile|St Didier|St Donatien|Ste Sophie|St Bérenger|St Augustin|St Germain|St Aymard|St Ferdinand|Ste Perrette|St Justin|Ste Blandine|St Kevin|Ste Clotilde|St Igor|St Norbert|St Gilbert|St Médard|Ste Diane|Ste Trinité|St Barnabé|St Guy|St Antoine|St Elisée|Ste Germaine|St Régis|St Hervé|St Léonce|St Romuald|St Silvère|St Rodolphe|St Alban|Ste Audrey|St Yann|St Prosper|St Anthelme|St Fernand|St Irénée|St Pierre/St Paul|St Martial|St Thierry|St Martinien|St Thomas|St Florent|St Antoine|Ste Mariette|St Eliane|St Thibaud|Ste Amandine|St Ulric|St Benoît|St Olivier|St Henri/St Joël|St Camille/Fête Nationale|St Donald|Ste Carmen|Ste Charlotte|St Frédéric|St Arsène|Ste Marina|St Victor|Ste Marie-Madeleine|Ste Brigitte|Ste Christine|St Jacques|Ste Anne|Ste Nathalie|St Samson|Ste Marthe|Ste Juliette|St Ignace|St Alphonse|St Julien|Ste Lydie|St Jean-Marie|St Abel|St Octavien|St Gaétan|St Dominique|St Amour|St Laurent|Ste Claire|Ste Clarisse|St Hippolyte|St Evrard|Ste Marie/Assomption|St Armel|St Hyacinthe|Ste Hélène|St Jean-Eudes|St Bernard|St Christophe|St Fabrice|Ste Rose|St Barthélémy|St Louis|Ste Natacha|Ste Monique|St Augustin|Ste Sabine|St Fiacre|St Aristide|St Gilles|Ste Ingrid|St Grégoire|Ste Rosalie|Ste Raïssa|St Bertrand|Ste Reine|St Adrien|St Alain|Ste Inès|St Adelphe|St Apollinaire|St Aimé|St Materne|St Roland|Ste Edith|St Renaud|Ste Nadège|Ste Emilie|St Davy|St Matthieu|St Maurice|St Constant|Ste Thècle|St Hermann|St Côme/St Damien|St Vincent de Paul|St Venceslas|Sts Michel|St Jérôme|Ste Thérèse|St Léger|St Gérard|St François|Ste Fleur|St Bruno|St Serge|Ste Pélagie|St Denis|St Ghislain|St Firmin|St Wilfrid|St Géraud|St Juste|Ste Thérèse|Ste Edwige|St Baudouin|St Luc|St René Goupil|Ste Adeline|Ste Céline|Ste Elodie|St Jean de Capistran|St Florentin|St Crépin|St Dimitri|Ste Emeline|St Simon|St Narcisse|Ste Bienvenue|St Quentin|Toussaint|Défunts|St Hubert|St Charles|Ste Sylvie|Ste Bertille|Ste Carine|St Geoffroy|St Théodore|St Léon|St Martin|St Christian|St Brice|St Sidoine|St Albert|Ste Marguerite|Ste Elisabeth|Ste Aude|St Tanguy|St Edmond|Présentation de Marie|Ste Cécile|St Clément|Ste Flora|Ste Catherine|Ste Delphine|St Séverin|St Jacques de la Marche|St Saturnin|St André|Ste Florence|Ste Viviane|St Xavier|Ste Barbara|St Gérald|St Nicolas|St Ambroise|Ste Frida|St Pierre Fourier|St Romaric|St Daniel|Ste Chantal|St Lucie|Ste Odile|Ste Ninon|Ste Alice|St Gaël|St Gatien|St Urbain|St Théophile|St Pierre Canisius|Ste Françoise-Xavière|St Armand|Ste Adèle|Noël|St Etienne|St Jean|St Gaspard|St David|St Roger|St Sylvestre".split(/\|/g);
function edtCal(a){
	var chn='',ms=-1,bs=0,s=Math.floor(a/100),pl=(15-Math.floor(s/4)+s-Math.floor(((s<<3)+13)/25)+19*(a%19))%30,pj,pq,cn,pq,as,pn;
	if (pl==28) if (10<(a%19)) pl--;else pl++;
	pj=pl;if (pl!=29 || new Date(a,2,pl).getDay()) pj=pl-new Date(a,2,pl).getDay()+7;
	cn=new Date(a,2,pj-25).valueOf();pq=new Date(a,2,pj+21).valueOf();
	as=new Date(a,2,pj+60).valueOf();pn=new Date(a,2,pj+70).valueOf();
	for (i=1;;i++){cd=new Date(a,0,i);
		if (cd.getFullYear()!=a) break;
		if (cd.getMonth()!=ms) {ms=cd.getMonth();
			if (chn) chn+='</div>';
			chn+='<div class="clc" style="left:'+((140*ms)%840)+'px;top:'+((ms<6)?0:450)+'px"><b class="mst">'+mos[ms]+'</b><hr>'}
		if (i==60 && cd.getMonth()==2) bs++;
		y=z='';if (!cd.getDay()) {y='<u>';z='</u>';}
		if (cd.valueOf()==cn) chn+='Me '+cd.getDate()+' <b>Cendres *</b><br>';
		else if (cd.valueOf()==pq) chn+='<u>Di '+cd.getDate()+' <b>Pâques *</b></u><br>';
		else if (cd.valueOf()==as) chn+='Je '+cd.getDate()+' <b>Ascension *</b><br>';
		else if (cd.valueOf()==pn) chn+='<u>Di '+cd.getDate()+' <b>Pentecôte *</b></u><br>';
		else chn+=y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' '+cd.getDate()+' '+tSt[i-1+bs]+z+'<br>';}
	chn+='</div>';
	document.getElementById('ida').innerHTML=a;
	document.getElementById('cal').innerHTML=chn;
}
edtCal(new Date().getFullYear());
function newAnn(d){var a=document.getElementById('ida').innerHTML;edtCal(parseInt(a)+d);}
</script>
</body>
</html>

Conclusion :


Ce script illustre les souplesse et puissance de pages html munies de simples scripts, elles rendent caduques nombre de documents anciens dont les évolutions devraient ouvrir de larges perspectives...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6
Date d'inscription
lundi 10 novembre 2003
Statut
Membre
Dernière intervention
18 mars 2010

Un exemple concret est bien plus simple
Si quelqu'un a une idée pour aligner le tout , alors allez y par un exemple.
Quelques lignes de commentaires pour afficher le numéro de la semaine.
A+ Bosco Bon courage

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang= "fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<title>Calendrier</title>
<style type="text/css">
body {margin:0;padding:0;font:12px/13px Arial,Courier,monospace}
h1 {margin:20px;padding:0;font:16px/20px;text-align:center;}
hr {
border: 0;
width: 100%;
color: #F7B109;
background-color: #F7B109;
height: 1px;
}
a {text-decoration:none;color:#F7B109;}
.mst {font-size:16px}
.dim { background-color:#F7B109; padding:0px; margin:0px; }
.jannee { background-color:#d3d3d3; padding:0px; margin:0px; }
#cal {display:block;position:relative;margin: 0 auto;width:1140px;height:900px;overflow:hidden;}
//.clc {display:block;position:absolute;border: 1px dotted red;top:0px;width:190px;padding:0px;background:#fff;}
.clc {display:block;position:absolute;top:0px;width:190px;padding:0px;background:#fff;}

</style>
</head>


["javascript:newAnn(-20)" title="Recul rapide - 20 ans"> ««« «« « Calendrier » »»

<script type="text/javascript">
var mos='Janvier|Février|Mars|Avril|Mai|Juin|Juillet|Août|Septembre|Octobre|Novembre|Décembre'.split(/\|/g);
var tSt="Jour de l'An|Basile|Geneviève|Odilon|Edouard|Mélaine|Raymond|Lucien|Alix|Guillaume|Paulin|Tatiana|Yvette|Nina|Rémi|Marcel|Roseline|Prisca|Marius|Sébastien|

Agnès|Vincent|Barnard|François de Sales|Apollos|Paule|Angèle|Thomas d'Aquin|Gildas|Martine|Marcelle|Ella|Théophane|Blaise|Véronique|Agathe|Gaston|Eugénie|Jacqueline|

Apolline|Arnaud|ND de Lourdes|Félix|Béatrice|Valentin|Claude|Julienne|Alexis|Bernadette|Gabin|Aimée|Damien|Isabelle|Lazare|Modeste|Roméo|Nestor|Honorine|Romain|

Auguste|Aubin|Jaouen|Guénolé|Casimir|Olive|Colette|Félicité|Jean de Dieu|Françoise|Vivien|Rosine|Justine|Rodrigue|Mathilde|Louise|Bénédicte|Patrick|Cyrille|Joseph|

Herbert|Clémence|Léa|Victorien|Karine|Annonciation|Lara|Habib|Gontran|Gwladys|Amédée|Benjamin|Hugues|Sandrine|Richard|Isidore|Irène|Marcellin|Jean-Baptiste|Julie|

Gautier|Fulbert|Stanislas|Jules|Ida|Maxime|Paterne|Benoît-Joseph|Anicet|Parfait|Emma|Odette|Anselme|Alexandre|Georges|Fidèle|Marc|Alida|Zita|Valérie|Catherine|Robert|

Jérémie / Fête du Travail|Boris|Philippe|Sylvain|Judith|Prudence|Gisèle|Désiré|Pacôme|Solange|Estelle|Achille|Rolande|Matthias|Denise|Honoré|Pascal|Eric|Yves|

Bernardin|Constantin|Emile|Didier|Donatien|Sophie|Bérenger|Augustin|Germain|Aymard|Ferdinand|Perrette|Justin|Blandine|Kevin|Clotilde|Igor|Norbert|Gilbert|Médard|

Diane|Trinité|Barnabé|Guy|Antoine|Elisée|Germaine|Régis|Hervé|Léonce|Romuald|Silvère|Rodolphe|Alban|Audrey|Yann|Prosper|Anthelme|Fernand|Irénée|Pierre / Paul|Martial|

Thierry|Martinien|Thomas|Florent|Antoine|Mariette|Eliane|Thibaud|Amandine|Ulric|Benoît|Olivier|Henri / Joël|Camille / Fête Nationale|Donald|Carmen|Charlotte|Frédéric|

Arsène|Marina|Victor|Marie-Madeleine|Brigitte|Christine|Jacques|Anne|Nathalie|Samson|Marthe|Juliette|Ignace|Alphonse|Julien|Lydie|Jean-Marie|Abel|Octavien|Gaétan|

Dominique|Amour|Laurent|Claire|Clarisse|Hippolyte|Evrard|Marie / Assomption|Armel|Hyacinthe|Hélène|Jean-Eudes|Bernard|Christophe|Fabrice|Rose|Barthélémy|Louis|

Natacha|Monique|Augustin|Sabine|Fiacre|Aristide|Gilles|Ingrid|Grégoire|Rosalie|Raïssa|Bertrand|Reine|Adrien|Alain|Inès|Adelphe|Apollinaire|Aimé|Materne|Roland|Edith|

Renaud|Nadège|Emilie|Davy|Matthieu|Maurice|Constant|Thècle|Hermann|Côme / Damien|Vincent de Paul|Venceslas|Sts Michel|Jérôme|Thérèse|Léger|Gérard|François|Fleur|

Bruno|Serge|Pélagie|Denis|Ghislain|Firmin|Wilfrid|Géraud|Juste|Thérèse|Edwige|Baudouin|Luc|René Goupil|Adeline|Céline|Elodie|Jean de Capistran|Florentin|Crépin|

Dimitri|Emeline|Simon|Narcisse|Bienvenue|Quentin|Toussaint|Défunts|Hubert|Charles|Sylvie|Bertille|Carine|Geoffroy|Théodore|Léon|Martin / Admistice 1918|Christian|

Brice|Sidoine|Albert|Marguerite|Elisabeth|Aude|Tanguy|Edmond|Présentation de Marie|Cécile|Clément|Flora|Catherine|Delphine|Séverin|Jacques de la Marche|Saturnin|

André|Florence|Viviane|Xavier|Barbara|Gérald|Nicolas|Ambroise|Frida|Pierre Fourier|Romaric|Daniel|Chantal|Lucie|Odile|Ninon|Alice|Gaël|Gatien|Urbain|Théophile|Pierre

Canisius|Françoise-Xavière|Armand|Adèle|Noël|Etienne|Jean|Gaspard|David|Roger|Sylvestre".split(/\|/g);
var annee=new Date().getFullYear();
var mois=new Date().getMonth();
var jour=new Date().getDate();

function edtCal(a){

var chn='',ms=-1,bs=0,s=Math.floor(a/100),pl=(15-Math.floor(s/4)+s-Math.floor(((s<<3)+13)/25)+19*(a%19))%30,pj,pq,cn,pq,as,pn;
if (pl==28) if (10<(a%19)) pl--;else pl++;
pj=pl;if (pl!=29 || new Date(a,2,pl).getDay()) pj=pl-new Date(a,2,pl).getDay()+7;
mg=new Date(a,2,pj-26).valueOf();ra=new Date(a,2,pj+14).valueOf();
cn=new Date(a,2,pj-25).valueOf();pq=new Date(a,2,pj+21).valueOf();
as=new Date(a,2,pj+60).valueOf();pn=new Date(a,2,pj+70).valueOf();
lpq=new Date(a,2,pj+22).valueOf();lpn=new Date(a,2,pj+71).valueOf();
for (i=1;;i++){cd=new Date(a,0,i);

for (x=1;;x++) { plundi=new Date(a,0,x);
if (plundi.getDay()==1) break ;}
for (x=1;;x++) { pjeudi=new Date(a,0,x);
if (pjeudi.getDay()==4) break ;}

//calcul numero semaine et style affichage

sem=Math.ceil((cd.getTime()-plundi.getTime()+86400*1000)/(86400*1000*7));
if (plundi>=pjeudi) sem+=1;
sem+=' ';
if (sem<=10) sem+='S';
if (cd.getDay()!=3 && cd.getDay()!=4) sem='S   ';

if (cd.getFullYear()!=a) break;
if (cd.getMonth()!=ms) {ms=cd.getMonth();
if (chn) chn+='
';
chn+='
<hr> '+mos[ms]+ ' <hr>'}
if (i == 60 && cd.getMonth()==2) bs++;

y=z=' ';if (!cd.getDay()) {
if ("DiLuMaMeJeVeSa".substr(2*cd.getDay(),2) == "Di") y='';z='

';}
else {z='
'};
jy=jz=' ';if (a==annee && cd.getDate()==jour && cd.getMonth()== mois){jy=' ';jz='

';}
else {jz='
'};

//chn+=cd.getDate()+' '+ cd.getMonth()+ ' ' +a+' ' +jour+' ' +mois+' ' +annee+' ' ;

//Affichage semaine Sem ou S et colorisation

sem2=(" "+sem+" ")

if (cd.valueOf() == mg) chn+=sem2+jy+'Ma '+cd.getDate()+' '+tSt[i-1+bs]+' Mardi Gras '+jz;
else if (cd.valueOf() == cn) chn+=sem2 +jy+ 'Me '+cd.getDate()+' '+tSt[i-1+bs]+' Cendres '+jz;
else if (cd.valueOf() == ra) chn+=' S Di '+cd.getDate()+' '+tSt[i-1+bs]+' Rameaux

';else if (cd.getMonth() 0 && cd.getDate() 1) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jour de l\'An'+z+' ';else if (cd.getMonth() 4 && cd.getDate() 1) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jérémie Fête du

Travail'+z+'';else if (cd.getMonth() 4 && cd.getDate() 8) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 8 Désiré Victoire

1945'+z+'';else if (cd.getMonth() 6 && cd.getDate() 14) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 14 Camille Fête

Nationale'+z+'';else if (cd.getMonth() 7 && cd.getDate() 15) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 15 Marie

Assomption'+z+'';else if (cd.getMonth() 10 && cd.getDate() 1) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Toussaint'+z+' ';else if (cd.getMonth() 10 && cd.getDate() 11) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 11 Martin Admistice

1918'+z+'';else if (cd.getMonth() 11 && cd.getDate() 25) chn+=''+y+sem2+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 25 Noël '+z+' ';

else if (cd.valueOf() == pq) chn+='S Di '+cd.getDate()+' '+tSt[i-1+bs]+'

Pâques

';
else if (cd.valueOf()==lpq) chn+='S Lu '+cd.getDate()+' '+tSt[i-1+bs]+' Lundi Pâques
';

else if (cd.valueOf() == lpq) chn+='S Lu '+cd.getDate()+' Marc
';
else if (cd.valueOf() == as) chn+='S Je '+cd.getDate()+' '+tSt[i-1+bs]+' Ascension
';
else if (cd.valueOf() ==pn) chn+=' S Di '+cd.getDate()+' '+tSt[i-1+bs]+'

Pentecôte

';
else if (cd.valueOf()==lpn) chn+='S Lu '+cd.getDate()+' '+tSt[i-1+bs]+' Lundi

Pentecôte
';
else if (a==annee && cd.getDate()==jour && cd.getMonth()== mois) chn+=jy+' S '+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+'

'+cd.getDate()+' '+tSt[i-1+bs]+''+jz;

//Affichage semaine Sem +sem2+

else chn+=y +sem2+ "DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' '+cd.getDate()+' '+tSt[i-1+bs]+ z ;}
chn+='
';

document.getElementById('ida').innerHTML=a;
document.getElementById('cal').innerHTML=chn;
}
edtCal(new Date().getFullYear());
function newAnn(d){var a=document.getElementById('ida').innerHTML;edtCal(parseInt(a)+d);}

</script>

</html>
Messages postés
29
Date d'inscription
lundi 2 janvier 2006
Statut
Membre
Dernière intervention
23 février 2009

voici une variante du très bon programme développé par 007julien si cela peut rendre service à quelqu'un je le joint:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang= "fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Calendrier</title>
<style type="text/css">
body {margin:0;padding:0;font:12px/13px Arial,Courier,monospace}
h1 {margin:20px;padding:0;font:16px/20px;text-align:center;}
a {text-decoration:none;color:#909;}
.mst {font-size:16px}
.dim { background-color:yellow; padding:0px; margin:0px; }
.jannee { background-color:#d3d3d3; padding:0px; margin:0px; }
#cal {display:block;position:relative;margin: 0 auto;width:1140px;height:900px;overflow:hidden;}
//.clc {display:block;position:absolute;border: 1px dotted red;top:0px;width:190px;padding:0px;background:#fff;}
.clc {display:block;position:absolute;top:0px;width:190px;padding:0px;background:#fff;}
</style>
</head>

["javascript:newAnn(-20)" title="Recul rapide - 20ans)">«« « Calendrier »
var mos='Janvier|Février|Mars|Avril|Mai|Juin|Juillet|Août|Septembre|Octobre|Novembre|Décembre'.split(/\|/g);
var tSt="Jour de l'An|Basile|Geneviève|Odilon|Edouard|Mélaine|Raymond|Lucien|Alix|Guillaume|Paulin|Tatiana|Yvette|Nina|Rémi|Marcel|Roseline|Prisca|Marius|Sébastien|Agnès|Vincent|Barnard|François de Sales|Apollos|Paule|Angèle|Thomas d'Aquin|Gildas|Martine|Marcelle|Ella|Théophane|Blaise|Véronique|Agathe|Gaston|Eugénie|Jacqueline|Apolline|Arnaud|ND de Lourdes|Félix|Béatrice|Valentin|Claude|Julienne|Alexis|Bernadette|Gabin|Aimée|Damien|Isabelle|Lazare|Modeste|Roméo|Nestor|Honorine|Romain|Auguste|Aubin|Jaouen|Guénolé|Casimir|Olive|Colette|Félicité|Jean de Dieu|Françoise|Vivien|Rosine|Justine|Rodrigue|Mathilde|Louise|Bénédicte|Patrick|Cyrille|Joseph|Herbert|Clémence|Léa|Victorien|Karine|Annonciation|Lara|Habib|Gontran|Gwladys|Amédée|Benjamin|Hugues|Sandrine|Richard|Isidore|Irène|Marcellin|Jean-Baptiste|Julie|Gautier|Fulbert|Stanislas|Jules|Ida|Maxime|Paterne|Benoît-Joseph|Anicet|Parfait|Emma|Odette|Anselme|Alexandre|Georges|Fidèle|Marc|Alida|Zita|Valérie|Catherine|Robert|Jérémie / Fête du Travail|Boris|Philippe|Sylvain|Judith|Prudence|Gisèle|Désiré|Pacôme|Solange|Estelle|Achille|Rolande|Matthias|Denise|Honoré|Pascal|Eric|Yves|Bernardin|Constantin|Emile|Didier|Donatien|Sophie|Bérenger|Augustin|Germain|Aymard|Ferdinand|Perrette|Justin|Blandine|Kevin|Clotilde|Igor|Norbert|Gilbert|Médard|Diane|Trinité|Barnabé|Guy|Antoine|Elisée|Germaine|Régis|Hervé|Léonce|Romuald|Silvère|Rodolphe|Alban|Audrey|Yann|Prosper|Anthelme|Fernand|Irénée|Pierre / Paul|Martial|Thierry|Martinien|Thomas|Florent|Antoine|Mariette|Eliane|Thibaud|Amandine|Ulric|Benoît|Olivier|Henri / Joël|Camille / Fête Nationale|Donald|Carmen|Charlotte|Frédéric|Arsène|Marina|Victor|Marie-Madeleine|Brigitte|Christine|Jacques|Anne|Nathalie|Samson|Marthe|Juliette|Ignace|Alphonse|Julien|Lydie|Jean-Marie|Abel|Octavien|Gaétan|Dominique|Amour|Laurent|Claire|Clarisse|Hippolyte|Evrard|Marie / Assomption|Armel|Hyacinthe|Hélène|Jean-Eudes|Bernard|Christophe|Fabrice|Rose|Barthélémy|Louis|Natacha|Monique|Augustin|Sabine|Fiacre|Aristide|Gilles|Ingrid|Grégoire|Rosalie|Raïssa|Bertrand|Reine|Adrien|Alain|Inès|Adelphe|Apollinaire|Aimé|Materne|Roland|Edith|Renaud|Nadège|Emilie|Davy|Matthieu|Maurice|Constant|Thècle|Hermann|Côme / Damien|Vincent de Paul|Venceslas|Sts Michel|Jérôme|Thérèse|Léger|Gérard|François|Fleur|Bruno|Serge|Pélagie|Denis|Ghislain|Firmin|Wilfrid|Géraud|Juste|Thérèse|Edwige|Baudouin|Luc|René Goupil|Adeline|Céline|Elodie|Jean de Capistran|Florentin|Crépin|Dimitri|Emeline|Simon|Narcisse|Bienvenue|Quentin|Toussaint|Défunts|Hubert|Charles|Sylvie|Bertille|Carine|Geoffroy|Théodore|Léon|Martin / Admistice 1918|Christian|Brice|Sidoine|Albert|Marguerite|Elisabeth|Aude|Tanguy|Edmond|Présentation de Marie|Cécile|Clément|Flora|Catherine|Delphine|Séverin|Jacques de la Marche|Saturnin|André|Florence|Viviane|Xavier|Barbara|Gérald|Nicolas|Ambroise|Frida|Pierre Fourier|Romaric|Daniel|Chantal|Lucie|Odile|Ninon|Alice|Gaël|Gatien|Urbain|Théophile|Pierre Canisius|Françoise-Xavière|Armand|Adèle|Noël|Etienne|Jean|Gaspard|David|Roger|Sylvestre".split(/\|/g);
var annee=new Date().getFullYear();
var mois=new Date().getMonth();
var jour=new Date().getDate();

function edtCal(a){

var chn='',ms=-1,bs=0,s=Math.floor(a/100),pl=(15-Math.floor(s/4)+s-Math.floor(((s<<3)+13)/25)+19*(a%19))%30,pj,pq,cn,pq,as,pn;
if (pl==28) if (10<(a%19)) pl--;else pl++;
pj=pl;if (pl!=29 || new Date(a,2,pl).getDay()) pj=pl-new Date(a,2,pl).getDay()+7;
mg=new Date(a,2,pj-26).valueOf();ra=new Date(a,2,pj+14).valueOf();
cn=new Date(a,2,pj-25).valueOf();pq=new Date(a,2,pj+21).valueOf();
as=new Date(a,2,pj+60).valueOf();pn=new Date(a,2,pj+70).valueOf();
lpq=new Date(a,2,pj+22).valueOf();lpn=new Date(a,2,pj+71).valueOf();
for (i=1;;i++){cd=new Date(a,0,i);

if (cd.getFullYear()!=a) break;
if (cd.getMonth()!=ms) {ms=cd.getMonth();
if (chn) chn+='
';
chn+='
'+mos[ms]+' <hr>'}
if (i == 60 && cd.getMonth()==2) bs++;
y=z=' ';if (!cd.getDay()) {
if ("DiLuMaMeJeVeSa".substr(2*cd.getDay(),2) == "Di") y='';z='

';}
else {z='
'};
jy=jz=' ';if (a==annee && cd.getDate()==jour && cd.getMonth()== mois){jy='';jz='

';}
else {jz='
'};

//chn+=cd.getDate()+' '+ cd.getMonth()+ ' ' +a+' ' +jour+' ' +mois+' ' +annee+' ' ;

if (cd.valueOf()==mg) chn+=jy+'Ma '+cd.getDate()+' '+tSt[i-1+bs]+' / Mardi Gras '+jz;
else if (cd.valueOf()== cn) chn+=jy+'Me '+cd.getDate()+' '+tSt[i-1+bs]+' / Cendres '+jz;
else if (cd.valueOf()== ra) chn+='Di '+cd.getDate()+' '+tSt[i-1+bs]+' / Rameaux

';else if (cd.getMonth() 0 && cd.getDate() 1) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jour de l\'An'+z+' ';else if (cd.getMonth() 4 && cd.getDate() 1) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Jérémie / Fête du Travail'+z+' ';else if (cd.getMonth() 4 && cd.getDate() 8) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 8 Désiré / Victoire 1945'+z+' ';else if (cd.getMonth() 6 && cd.getDate() 14) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 14 Camille / Fête Nationale'+z+' ';else if (cd.getMonth() 7 && cd.getDate() 15) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 15 Marie / Assomption'+z+' ';else if (cd.getMonth() 10 && cd.getDate() 1) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 1 Toussaint'+z+' ';else if (cd.getMonth() 10 && cd.getDate() 11) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 11 Martin / Admistice 1918'+z+' ';else if (cd.getMonth() 11 && cd.getDate() 25) chn+=' '+y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' 25 Noël'+z+' ';
else if (cd.valueOf() == pq) chn+='Di '+cd.getDate()+' '+tSt[i-1+bs]+' / Pâques

';
else if (cd.valueOf()==lpq) chn+=' Lu '+cd.getDate()+' Marc
';
else if (cd.valueOf() == as) chn+=' Je '+cd.getDate()+' '+tSt[i-1+bs]+' / Ascension
';
else if (cd.valueOf() == pn) chn+='Di '+cd.getDate()+' '+tSt[i-1+bs]+' / Pentecôte

';
else if (cd.valueOf()==lpn) chn+=' Lu '+cd.getDate()+' Antoine
';
else if (a == annee && cd.getDate()==jour && cd.getMonth()== mois) chn+=jy+' '+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' '+cd.getDate()+' '+tSt[i-1+bs]+' '+jz;

else chn+ =y+"DiLuMaMeJeVeSa".substr(2*cd.getDay(),2)+' '+cd.getDate()+' '+tSt[i-1+bs]+z;}
chn+='
';
document.getElementById('ida').innerHTML=a;
document.getElementById('cal').innerHTML=chn;
}
edtCal(new Date().getFullYear());
function newAnn(d){var a=document.getElementById('ida').innerHTML;edtCal(parseInt(a)+d);}

</script>

</html>
Messages postés
239
Date d'inscription
vendredi 20 octobre 2006
Statut
Membre
Dernière intervention
20 avril 2009

Bonjour,

Est-ce que quelqu'un aurait mis ce script en ligne quelque part, afin qu'on puisse voir a quoi ca ressemble ?

Eric
Messages postés
3
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
28 février 2011

Désolé,
soustrayez 1 à mes numéros de lignes dans mes derniers commentaires.
Messages postés
3
Date d'inscription
vendredi 15 juin 2007
Statut
Membre
Dernière intervention
28 février 2011

Je voulais afficher le numéro de semaine, et je propose cette solution en m'inspirant de la solution de Marmotte86 (http://www.javascriptfr.com/codes/CALENDRIER-MOIS-ANNEE-AVEC-AFFICHAGE-NUMEROS-SEMAINE_32185.aspx)

Ligne 24 : déclaration de 3 variables supplémentaires : plundi (premier lundi de l'année); pjeudi (premier jeudi de l'année); et sem (pour le numéro de semaine).

Insertion de 4 lignes après la ligne 28 :
for (x=1;;x++) { plundi=new Date(a,0,x);
if (plundi.getDay()==1) break ;}
for (x=1;;x++) { pjeudi=new Date(a,0,x);
if (pjeudi.getDay()==4) break ;}

Insertion de 5 lignes après la ligne 34 ("if (i==60 && cd.getMonth()==2) bs++;") qui est devenu 38 :
sem=Math.ceil((cd.getTime()-plundi.getTime()+86400*1000)/(86400*1000*7));
if (plundi>pjeudi) sem+=1;
sem+=' ';
if (sem<10) sem+=' ';
if (cd.getDay()!=3 && cd.getDay()!=4) sem=' ';

Enfin ne pas oublier d'inclure sem en début de chaine dans les lignes suivantes concernant les jours fériés (question d'esthétique).

Et biensûr dernière ligne : else chn+=y+sem+"DiLuMa......etc
Voilà, j'espère que mes explications ne sont pas trop brouillonnes, et surtout qu'il n'y a pas d'erreur.
Afficher les 14 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.