Jour correspondant à une date donnée …

Soyez le premier à donner votre avis sur cette source.

Vue 5 172 fois - Téléchargée 894 fois

Description

Jour correspondant à une date donnée … (Voir document associé ! C'estmeiux lisible !)
Hbouia – 30 déc 2013

Etant donnée une date 'jj/mm/aaaa', on voudrait déterminer le jour correspondant à cette date : un dimanche (0), un lundi (1), …, un samedi (6).

Voici un algorithme simple pouvant être exécuté mentalement, on se basera sur l’exemple de la date de '12/03/1993' :

1) On retient le jour modulo 7 : pour notre exemple, ce sera 12 modula 7 (r1= 5)
2) Codage des mois : bijection de [1,12] vers '0 3 3 6 1 4 6 2 5 0 3 5' :
Chaque mois a un code : C’est le nombre de jours des mois précédents modulo 7.
Le mois de janvier n’a pas de mois précédent : code 0 ;
Le mois de février a 31 jours du mois précédent et modulo 7, cela fait 3 ;
Le mois de mars a 28 + 31 jours cumulés des mois précédents soit 3+0 =3 modulo 7 ;
etc.
On retient le code du mois : pour notre exemple, ce sera le (r2 = 3) (3ème chiffre du code des mois)
r2=code du mois (= 3 pour notre exemple)
3) On calcule l’année de référence par rapport à 1900 : a’ = 1993 – 1900 = 93 et son modulo 7
r3 = 93 = 13x7 + 2 ( r3 = 2 modulo 7).
4) On calcule a' modulo 4 : 93 modulo 4 = 3
r3 = 93 = 13x7 + 2 ( r3 = 2 modulo 7).
5) Est-ce que l’année est bissextile ? (C’est-à-dire multiple de 400 ou alors multiple de 4 et non multiple de 100) :
Eps=1 si bissextile et 0 sinon pour notre exemple : eps = 0.
6) On somme les résultats 5 + 3 + 2 + 2 + 0 = 13 ce qui fait 5 modulo 7 : un vendredi !

B.N : L’objectif de cet utilitaire est de d’utiliser le langage Python sans avoir à avoir connaissance de tous les modules dont il dispose dont le module « date » ;)

Cordialement,

hb

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
109
Date d'inscription
mardi 30 juillet 2013
Statut
Membre
Dernière intervention
5 janvier 2021
12
Merci pour votre encouragement et votre note si généreuse.
Vous êtes le premier à avoir noté l'un de mes codes-sources.
Cordialement,
hb
Messages postés
74
Date d'inscription
samedi 8 décembre 2012
Statut
Membre
Dernière intervention
14 juin 2014
18
Connaitre le jour sans avoir à importer le module datetime, super ! :)
Merci pour cette méthode à laquelle je n'aurais pas pensé ^^

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.