CALCUL DES JOURS FÉRIÉS (FRANCE)

Messages postés
5
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
23 mars 2006
- - Dernière réponse : econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
- 31 mars 2006 à 13:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32850-calcul-des-jours-feries-france

econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
19 -
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.
Utilisateur anonyme -
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.
Utilisateur anonyme -
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.
iamthib
Messages postés
5
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
23 mars 2006
-
rien a ajouter :)
cs_bastoun
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
1 -
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...
cs_bastoun
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
1 -
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
cs_bastoun
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
1 -
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...
Utilisateur anonyme -
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 ...
Utilisateur anonyme -
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 ????? ...
Utilisateur anonyme -
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
iamthib
Messages postés
5
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
23 mars 2006
-
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
Utilisateur anonyme -
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 ...
Utilisateur anonyme -
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 !
cs_bastoun
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
1 -
Quelle erreur de date obtiens-tu ?
Utilisateur anonyme -
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
cs_bastoun
Messages postés
164
Date d'inscription
dimanche 1 octobre 2000
Statut
Membre
Dernière intervention
23 mars 2007
1 -
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... ????
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
19 -
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).
iamthib
Messages postés
5
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
23 mars 2006
-
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);
}