CALENDRIER PERPÉTUEL DE L'AN 0 À L'AN 2499

cs_sofiane1234 Messages postés 5 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 13 juin 2009 - 23 oct. 2005 à 13:11
le_duche Messages postés 159 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 26 février 2009 - 21 oct. 2006 à 21:02
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/29539-calendrier-perpetuel-de-l-an-0-a-l-an-2499

le_duche Messages postés 159 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 26 février 2009
21 oct. 2006 à 21:02
renseigne toi sur les objets ftime si je me souviens bien !
cs_Angelus4 Messages postés 15 Date d'inscription dimanche 18 janvier 2004 Statut Membre Dernière intervention 30 septembre 2005
20 oct. 2006 à 15:44
Bonjour,

Je passe par hasard car je cherche ce genre d'algorithme pour développer un calendrier perpetuel qui calculerait le jour d'une date en un temps de calcul constant quelque soit cette date.

La discussion/le projet date un peu mais tanpis...
J'ai regardé le code pour en savoir un peu plus mais il m'a fait un peu mal aux yeux, dommage qu'il n'ait pas été plus propre - avec plus de commentaires comme c'était annoncé dans l'explication finale.

Des choses inutiles s'y sont glissées qui n'aident pas à la lisibilité comme :
if (annee % 100 0 && annee % 400 0)
Si annee % 400 == 0 alors forcement annee % 100 vaudra 0 aussi.

Voilà je repasserais au cas où mon message aura été pris en considération.

Bye,
CoolMouse Messages postés 5 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 10 novembre 2005
18 déc. 2005 à 11:08
J'ai bien pris en compte les années bissextile de type / par 4 et celles où il faut / par 400. Pour la / par 4000, je n'en ai pas besoin puisque je ne vais pas aussi loin.

// Test de la bisextilité de l'année
if ( (annee % 100 0 && annee % 400 0) || (annee % 100 != 0 && annee % 4 == 0) )
bisextile = 1 ;
else
bisextile = 0 ;
Le but de la division est juste de vérifier s'il y a un reste ou pas. S'il y en a un, l'année n'est pas bissextile, dans le cas contraire, elle l'est.

Et pour le changement de calendrier, nous sommes passé du calendrier Julien au calendrier Grégorien.
le_duche Messages postés 159 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 26 février 2009
13 déc. 2005 à 15:50
petit indice supp puisque tu étend à des grandes dates:

il se trouve comme on l'a déja dit, que
les année div par 4 sont biss.
exception: les années div par 100 ne le sont pas
exception: les années div par 400 le sont
exception: les années div par 3000 ne le sont pas

note: j'ai eu la flemme de lire ton code, mais as tu pris en compte le changement de calendrier au 16è siècle, et donc le changement d'algo du calendrier julien au grégorien (ou l'invers je sais plus ^^)
pipozor Messages postés 1 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 9 décembre 2005
9 déc. 2005 à 12:23
Salut,
Merci pour les corrections mais sauf si j'ai loupé qqch le code de la page et le zip ne sont pas mis à jour avec les corrections? J'ai toujours les memes erreurs.

Merci de ton aide.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
18 nov. 2005 à 00:40
bissext = ((iYear & 3) == 0 && ((iYear % 100) != 0 || (iYear % 400) == 0));
blassiou083 Messages postés 8 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 3 mars 2009
17 nov. 2005 à 23:51
Règle des Années bissextiles : Toutes les Années multiples de 4 sont bissextiles
Exception : Les Années multiples de 100 NE sont PAS bissextiles
Exception de l'exception : Les années multiples de 400 SONT bissextiles !!!
Donc 1700, 1800, 1900 n'étaient PAS bissextile, tandis que 2000 était bissextile.
Je ne pense pas que qu'en a tenu compte, d'après ta source.
Je travaille actuellement là-dessus et j'ai un prog qui ressemble à ça pour savoir si l'année est bissextile ou non

if(Annee%4==0)
{
NbJour[1]=29;
if(Annee%100==0)
{
NbJour[1]=28;
if(Annee%400==0)
{
NbJour[1]=29;
};
};
};
CoolMouse Messages postés 5 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 10 novembre 2005
10 nov. 2005 à 02:09
Ah oui, en effet, ce bug m'avait échappé.

Je mets la mise à jour, sous peu. Merci de ta remarque.


@+
cs_sofiane1234 Messages postés 5 Date d'inscription mardi 24 juin 2003 Statut Membre Dernière intervention 13 juin 2009
23 oct. 2005 à 13:11
Salut l'ami,

Ton prog est pas mal mais malheureusement il y a un probleme

sur le test suivant : 01/11/2005

ton prog renvoie un mercredi alors qu'on est réellement

MARDI.

Mise à jour attendu...pour que tout le monde puisse profité de ta source

@+