Discussion modèle:PREVIOUSWEEK
Ajouter un sujetApparence
Dernier commentaire : il y a 18 ans par DC2 dans le sujet Algo utilisé
Autres discussions [liste]
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Algo utilisé
[modifier le code]L'algo est validé, mais surveiller la syntaxe aux prochains changements d'années... (normalement, c'est supposer bien fontionner)
Le calcul ne pose aucune problème sauf en semaine 1 : il faut alors calculer si l'année précédente avait 52 ou 53 semaines.
Méthode :
- une année a 53 semaines si son jour de l'an est un jeudi (un mercredi ou un jeudi si bissextile)
- donc si son 31 décembre est aussi un jeudi (un jeudi ou un vendredi si bissextile)
Si on est en semaine 1 :
- Il faut calculer le nombre de jours d'écarts entre aujourd'hui et le plus proche 31 décembre
- si on est en janvier alors le 31 décembre de l'année précédente était CURRENTDAY jours plus tôt qu'aujourd'hui
- si on est encore en décembre (la semaine 1 peut empièter sur l'année précédente un 29, 30 ou 31 décembre), alors le 31 décembre tombera 7-31 jours plus tôt (donc plus tard puisque négatif) qu'aujourd'hui
- il suffit d'ajouter CURRENTDOWISO pour savoir (modulo 7) quel jour tombait ce 31 décembre
- le résultat variera de -9 à 9 dans les cas extrêmes (1= lundi 7=dimanche cycle de 7 jours)
- on utilise CURRENTDOWISO plutôt que CURRENTDOW pour être certain de la correspondance des jours sous tous les Wiki. (lundi = 1, toujours)
Avec ce modulo :
- le 31 déc était un jeudi si on obtient -3 ou +4 (toujours 53 semaines)
- c'était un vendredi pour -2 ou +5 (53 semaines SI année bissextile, 52 sinon). Remarques :
- si on est en décembre il faut regarder le caractère bissextile de l'année courante
- si on est en janvier il faut regarder le caractère bissextile de l'année précédente
- dans tous les autres cas, il y avait 52 semaines.
Algo mis au point pour Wikipédia / David • 13 juin 2006 à 04:50 (CEST) Lire aussi mon article sur la numérotation des semaines pour mieux comprendre.