begin process at 2010 09 03 08:32:09
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date/Heure

 > CALCUL DES JOURS FÉRIÉS (FRANCE)

CALCUL DES JOURS FÉRIÉS (FRANCE)


 Information sur la source

Note :
6,67 / 10 - par 3 personnes
6,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date/Heure Classé sous :calcul, jour, férié, calendrier Niveau :Débutant Date de création :23/07/2005 Date de mise à jour :23/07/2005 12:55:35 Vu :67 364

Auteur : bastoun

Ecrire un message privé
Site perso
Commentaire sur cette source (18)
Ajouter un commentaire et/ou une note

 Description

Ce source permet de trouver les dates des jours fériés en france. les dates sont au format CF.
A vous d'utiliser  lsdateformat ou dateformat pour afficher dans le format que vous souhaitez.
Le cfdump à la fin est là juste pour afficher rapidement un résultat pour tester....

Source

  • <!--- variable pour préciser l'année... à vous d'adapter --->
  • <cfset viewyear=2005>
  • <!--- Calcul des jours feriés --->
  • <!--- Calcul du dimanche de paques --->
  • <cfscript>
  • function CalculPaques(Y) {
  • a = Y mod 19;
  • b = Int(Y/100);
  • C = Y mod 100;
  • P = Int(b / 4);
  • E = b mod 4;
  • F = Int((b + 8) / 25);
  • g = Int((b - F + 1) / 3);
  • h = (19 * a + b - P - g + 15) mod 30;
  • i = Int(C / 4);
  • K = C mod 4;
  • r = (32 + 2 * E + 2 * i - h - K) mod 7;
  • N = Int((a + 11 * h + 22 * r) / 451);
  • M = Int((h + r - 7 * N + 114) / 31);
  • D = ((h + r - 7 * N + 114) mod 31) + 1;
  • return createDate(Y,M,D);
  • }
  • </cfscript>
  • <!--- Dates fixes --->
  • <CFSET JourFerie["Jour de l'an"]=createDate(viewYear,1,1)>
  • <CFSET JourFerie["Armistice 39-45"]=createDate(viewYear,5,8)>
  • <CFSET JourFerie["Toussaint"]=createDate(viewYear,11,1)>
  • <CFSET JourFerie["Assomption"]=createDate(viewYear,8,15)>
  • <CFSET JourFerie["Fête du Travail"]=createDate(viewYear,5,1)>
  • <CFSET JourFerie["Fête nationale"]=createDate(viewYear,7,14)>
  • <CFSET JourFerie["Noël"]=createDate(viewYear,12,25)>
  • <!--- Dates dépendantes du jour de paque --->
  • <CFSET JourFerie["Lundi de Pâques"]=DateAdd("d",1,CalculPaques(viewYear))>
  • <CFSET JourFerie["Ascencion"]=DateAdd("d",39,CalculPaques(viewYear))>
  • <CFSET JourFerie["Lundi de Pentecôte"]=DateAdd("d",50,CalculPaques(viewYear))>
  • <cfdump var="#JourFerie#">
<!--- variable pour préciser l'année... à vous d'adapter --->
<cfset viewyear=2005>

<!--- Calcul des jours feriés --->

<!--- Calcul du dimanche de paques --->
<cfscript>
	function CalculPaques(Y) {
		a = Y mod 19;
		b = Int(Y/100);
		C = Y mod 100;
		P = Int(b / 4);
		E = b mod 4;
		F = Int((b + 8) / 25);
		g = Int((b - F + 1) / 3);
		h = (19 * a + b - P - g + 15) mod 30;
		i = Int(C / 4);
		K = C mod 4;
		r = (32 + 2 * E + 2 * i - h - K) mod 7;
		N = Int((a + 11 * h + 22 * r) / 451);
		M = Int((h + r - 7 * N + 114) / 31);
		D = ((h + r - 7 * N + 114) mod 31) + 1;
		return createDate(Y,M,D);
	}
</cfscript>

<!--- Dates fixes --->
<CFSET JourFerie["Jour de l'an"]=createDate(viewYear,1,1)>
<CFSET JourFerie["Armistice 39-45"]=createDate(viewYear,5,8)>
<CFSET JourFerie["Toussaint"]=createDate(viewYear,11,1)>
<CFSET JourFerie["Assomption"]=createDate(viewYear,8,15)>
<CFSET JourFerie["Fête du Travail"]=createDate(viewYear,5,1)>
<CFSET JourFerie["Fête nationale"]=createDate(viewYear,7,14)>
<CFSET JourFerie["Noël"]=createDate(viewYear,12,25)>

<!--- Dates dépendantes du jour de paque --->
<CFSET JourFerie["Lundi de Pâques"]=DateAdd("d",1,CalculPaques(viewYear))>
<CFSET JourFerie["Ascencion"]=DateAdd("d",39,CalculPaques(viewYear))>
<CFSET JourFerie["Lundi de Pentecôte"]=DateAdd("d",50,CalculPaques(viewYear))>

<cfdump var="#JourFerie#">



 Historique

23 juillet 2005 12:55:35 :
-

 Sources du même auteur

VALIDATION D'UN ENTIER

 Sources de la même categorie

SCRIPT POUR CONVERTIR UNE DATE GREGORIENNE EN DATE ISO 8601... par FREESLY
Source avec Zip CALENDRIER par Dreus
Source avec Zip TRAVAILLER EN JOURS OUVRABLES par Roberto
RESPECTER LA MISE EN FORME DANS UN CHAMPS DE TYPE TEXTAREA par Skyride
TEMPS D'ÉXÉCUTION D'UNE PAGE par Kdo

Commentaires et avis

Commentaire de iamthib le 02/12/2005 14:27:46

Et voila pour javascript :
function CalculPaques(Y) {
        var a = Y-Math.floor(Y/19)*19;
        var b = parseInt(Y/100, 10);
        var C = Y-Math.floor(Y/100)*100;;
        var P = parseInt(b/4, 10);
        var E = b-Math.floor(b/4)*4;
        var F = parseInt( ((b + 8) / 25),10);
        var g = parseInt( ((b - F + 1) / 3),10);
        var h = (19 * a + b - P - g + 15)-Math.floor((19 * a + b - P - g + 15)/30)*30;
        var i = parseInt((C / 4),10);
        var K = C-Math.floor(C/4)*4;
        var r = (32 + 2 * E + 2 * i - h - K) -Math.floor((32 + 2 * E + 2 * i - h - K)/7)*7;
        var N = parseInt( ((a + 11 * h + 22 * r) / 451),10);
        var M = parseInt( ((h + r - 7 * N + 114) / 31),10);
        var D = ((h + r - 7 * N + 114)-Math.floor((h + r - 7 * N + 114)/31)*31) + 1;

return(D+M+Y);
}

Commentaire de econs le 17/12/2005 15:51:58 administrateur CS

Salut,

Tu pourrais expliquer, en quelques termes français simples, comment tu obtiens le jour du Dimanche de Paques ? La lune intervient normalement dans ce calcul.
Disons, qu'en regardant le calcul, c'est pas clair (de lune).

Commentaire de bastoun le 21/12/2005 00:18:53

pfff... ça fait un petit moment que j'ai 'créé' ce script (au moins un an avant de le poster).
J'ai utilisé un des quelques algorithmes de calcul du dimanche de paques(il y en a plusieurs plus ou moins précis) parce que j'en avais besoin pour une appli. J'ai pas spécialement étudié l'explication (y'en a tout une tartine)

Pour ce que j'en ai retenu, a correspond au calcul du nombre d'or dans le cycle lunaire... c'est déjà un bon début... b et c semblent correspondre au siècle et à l'année dans le siècle...
mais bon, après... ????

Commentaire de vincentbo le 20/03/2006 17:29:33

Bonjour,

vos formules de calcul, c'est bien ! Mais il faudrait en + qu'elles soient bonnes !
Dans une formule mathématique la priorité aux parenthèses c'est important !!!
ça serait très sympa de corriger vos formules et de faire le test du calcul sur le jour des Pâques !

merci

Commentaire de bastoun le 21/03/2006 17:38:01

Quelle erreur de date obtiens-tu ?

Commentaire de vincentbo le 21/03/2006 19:48:14

Et bien regardez le résultat ...
Prenez n'importe quel code JS ou autre et faite le test !
Regardez le résultat de la fonction qui calcule le jour des Pâques !

Commentaire de vincentbo le 21/03/2006 19:49:46

PS: La formule du calcul du jour des Pâques circule sur le web depuis longtemps mais la première personne qui l'a diffusée n'a pas dû tester son résultat ! Alors attention ...

Commentaire de iamthib le 22/03/2006 18:56:11

putain je vous jure on aura tout vu !
1°) tu crois ke j'ai mis mis un source que j'ai pas testé, que je l'ai fait juste pour tes beaux yeux ??!!!??
2°)quand le monsieur te demande un exemple d'erreur donnes lui en un c le seul moyen autre que la demonstration de prouver tes affabulations, ca veut rien dire, je cite "Prenez n'importe quel code JS ou autre et faite le test !"
3°) si t pa capable de mettre toi meme les parantheses passe d'abord par les tutoriaux avant de venir ici
4°)change de pseudo

Commentaire de vincentbo le 22/03/2006 22:47:42

1er résultat pour le script JS lorsque l'on met l'année 2006 pour le calcul du jour des Paqûes:

    alert(CalculPaques(2006));

    => résultat = 2026 ! ERREUR

2ème résultat après correction du retour su script:

   correction:   return(D + '/' + M + '/' + Y);

   résultat = 16/4/2006  toujours pour l'année 2006 ?

Alors le jour des Pâques est-il le 16/4/2006 ? NON

ALORS EN CE QUI CONCERNE LES TUTORIAUX JE LES AI TOUS FAIT !
VOUS NON ! ALORS REPRENEZ LES TUTORIAUX ET CHANGEZ DE PSEUDO

Cordialement Vincentbo

Commentaire de vincentbo le 22/03/2006 22:54:11

En ce qui concerne la formule:

        a = Y mod 19;
        b = Int(Y/100);
        C = Y mod 100;
        P = Int(b / 4);
        E = b mod 4;
        F = Int((b + 8) / 25);
        g = Int((b - F + 1) / 3);
        h = (19 * a + b - P - g + 15) mod 30;
        i = Int(C / 4);
        K = C mod 4;
        r = (32 + 2 * E + 2 * i - h - K) mod 7;
        N = Int((a + 11 * h + 22 * r) / 451);
        M = Int((h + r - 7 * N + 114) / 31);
        D = ((h + r - 7 * N + 114) mod 31) + 1;

Lorsque je vois par ex. la ligne
r = (32 + 2 * E + 2 * i - h - K) mod 7
Je l'interprète en donnant la priorité à la multiplication
ce qui est normal, donc on peut normalement la traduire par:
r = (32 + (2 * E) + (2 * i) - h - K) mod 7
(C'est le cas pour toute les lignes ayant une multiplication)
Le résultat de tout çà c'est que cela ne fonctionne toujours pas !
Donc cette formule ne fonctionne pas.
Si l'on se penche sérieusement sur le problème je pense qu'il ne doit pas y avoir grand chose à changer, mais quoi ????? ...

Commentaire de vincentbo le 22/03/2006 23:08:26

Pour reprendre cette formule il faut reprendre la méthode de calcul de Christian Zeller pour les dates à partir de 1583 du calendrier Grégorien:

Notations et représentations:
- ssaa  ex: l'année 2006.
    ss  le siècle ou les deux premiers chifres de l'année
        ss = 20 pour l'an 2006.
    aa  l'année en cours ou les deux derniers chiffres de l'année complète, aa = 06 pour l'an 2006.
    m   le mois.

Le calcul pour des dates depuis 1583:

  - diviser (5ss + aa) par 19, reste x;
  - donc (5ss + aa) mod 19 = x
  - à (19x + 15) ajouter le nombre g = (ss - ss/4 - ss/3);
  - diviser (19x + 15 + ss - ss/4 - ss/3) par 30
    ou (19x + 15 + ss - ss/4 - ss/3) mod 30 = y
    y est le nombre de la Pleine Lune Pascale (PLP): y indique quel jour après le 21 mars survient la PLP.
  - y ajouter (aa + aa/4 + ss/4 + 2 - 2ss), diviser par 7, reste z,
    ou (y + aa + aa/4 + ss/4 + 2 - 2ss) mod 7 = z
    
alors le dimanche de Pâques tombe (y + 7 - z) jours après le 21 mars; i.e. le (7 - z)e jour après la pleine lune pascale.

Il faudrait en + consulter les notes de Christian Zeller car il y a des petites subtilités.

A suivre ...

Commentaire de bastoun le 23/03/2006 00:37:03

Monsieur VincetnBo, pardon, Maaaaiiiiitre.... quand est-ce paques cette année ???
que je rigoles ???

Tu aurais au moins pu faire le calcul avec la méthode de Zeller.. au lieu de dire des conneries...
au moins c'est clair que s'il ya quelqu'un d'autre qui lit le poste, il comprendra comment te situer !!! -> tu essayes d'écraser les autres, sans réussir à démontrer quoi que ce soit (tu aurais du faire le calcul en plus de présenter la méthode de Zeller !!! au lieu de faire semblant en laissant les quelques lettre et de dire que paques ne tombes pas le 16/04/2006)

le problème c'est que tu n'as rien démontré... dommage pour toi.... tu viens de te descendre tout seul...
En plus, il n'y a pas qu'une seule méthode ni algo..

M'enfin.. bon, je suis rassuré, c'est que si l'algorithme que j'ai présenté est faux, je ne suis pas le seul à m'être planté...
va annoncer à l'église (chrétienne... pas orthodoxe...), au gouvernement et toues les RH que c'est pas le 16/04 cette année...

Commentaire de bastoun le 23/03/2006 00:49:45

Ah oui !!! e préviens le vatican que c'est pas le 16/04/2006 !!! ils ont fait une erreur !!!
http://www.vatican.va/news_services/liturgy/calendar/ns_lit_doc_20060101_calendar_fr.html#AVRIL%202006

Commentaire de bastoun le 23/03/2006 01:16:48

Tu soutiens toujours que paques n'est pas le 16/04/2006 ?

Au fait ! si tu t'étais renseigné un peu (réellement !!! au lieu de dire ceci

'Alors le jour des Pâques est-il le 16/4/2006 ? NON
ALORS EN CE QUI CONCERNE LES TUTORIAUX JE LES AI TOUS FAIT !
VOUS NON ! ALORS REPRENEZ LES TUTORIAUX ET CHANGEZ DE PSEUDO')

Le fait de lire les tutoriaux ne fait pas de toi un puit de science, encore faudrait-il que tu comprennes et que ce soit vérifié.

Si tu parles des tutoriaux sur ce site... c'est clair que je ne les ai pas tous fait... mais bon, je sais ce que je vaux, donc c'est pas ici que j'apprend le plus de trucs...

Si c'est pour les tutoriaux pour calculer paques... tu n'as pas du en faire beaucoup, car tu n'aurais surement pas choisi celui là (pour le présenter incomplet), ou tu aurais intégré les 'subtilités' de l'algo..(ce ne sont que quelques lignes.. fatigué par le copié collé ?) et au moins tu aurais fait le calcul manuellement pour vérifier !!! De plus tu aurais vu qu'il y en a quelques-uns... Mais bon, je suis royal, je te laisse chercher... au moins tu apprendras quelque chose par toi même...

Commentaire de iamthib le 23/03/2006 11:37:33

rien a ajouter :)

Commentaire de vincentbo le 23/03/2006 14:23:59

Faut pas prendre çà mal, c'était pas pour te démolir, ma question initiale pourquoi ça marche pas ?

Rien à ajouter.

PS: T'avai pas testé ton script ? ... hi hi je rigole
sans rancune.

Commentaire de vincentbo le 23/03/2006 14:24:11

Faut pas prendre çà mal, c'était pas pour te démolir, ma question initiale pourquoi ça marche pas ?

Rien à ajouter.

PS: T'avais pas testé ton script ? ... hi hi je rigole
sans rancune.

Commentaire de econs le 31/03/2006 13:48:52 administrateur CS

En conclusion,
- le script est bon
- Pâques, c'est dans deux semaines

Mais comment fonctionne cet algo ? Mystère ...
Va falloir titiller l'ami Google.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

aide script calendrier [ par rubenxela ] Bonjour à tousJe suis en train de développer un site pour une personne de ma famille qui monte un gite. Je suis à la recherche de d'un script qui perm PROBLEME Calcul de float ( 2 chiffres après la virgule ) [ par miketrix ] Salut à tousJe souhaite calculer une valeur réelle ( 2 chiffres après la virgule) à afficher suivant des valeurs lues dans ma BD :ex:je lis en boucle AutoUpdate de coldfusion [ par Rastafa ] Il y a-t-il un moyen de savoir automatiquement les mises à jour à faire pour coldfusion... genre de windowsUpdate ou bien de live update des anti-viru liste déroulante, requête et calcul [ par nioof42 ] Bonjour,Je commence à peine avec Dreamweaver et j'ai un gros problème:j'ai au moins 2 listes déroulantes liée à une base de données Acces (type produi calcul du numéro de la semaine [ par holdup ] Bonjour &#224; tous !j'ai un petit sousci avec l'affichage du num&#233;ro de semaine : en effet il m'affiche semaine 20 alors que nous sommes semaine pb de calcul du numéro de semaine [ par holdup ] Bonjour, je souhaiterai afficher le num&#233;ro de la semaine avec Week(Now()) , mais il m'affiche semaine 20 alors que nous sommes semaine 19 !!quelq CALENDRIER EN RESEAUX [ par manolis ] Bonjour,dites il y a quoi comme solution pour pouvoir avoir un calendrier de rendez vous&nbsp;sur mon serveur ou tout le monde pourrais le voir ajoute Quelle date a ete choisie dans le calendrier? [ par fionalabelle ] Bonjour &#224; tous,J&#146;ai un problem que je n&#146;arrive pas &#224; resoudre depuis, car je ne sais pas pas o&#249; commencer.< mise à jour [ par massbbc ] salut je voudrais un code qui affiche la date de mise à jour sur mon site. Celui que j'ai pren a chaque fois la date du jour courant. Merci.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales