Pour obtenir le nombre de jours dans un mois donnée en python il faut penser au module calendar qui comprend la fonction monthrange. Cette fonction prend comme arguments l'année et le mois, et indique si le mois commence par lundi, mardi, etc et le nombre de jours dans le mois. Exemple:
Obtenir le nombre de jours dans un mois avec monthrange
from calendar import monthrangeyear = 2014month = 2print( 'Number of days: {}'.format( monthrange(year, month)[1] ) )
donne
Number of days: 28
Un autre exemple
year = 2016month = 2
then
print( 'Number of days: {}'.format( monthrange(year, month)[1] ) )
donne
Number of days: 29
Note:
>>> import calendar>>> calendar.monthrange(2014,10)(2, 31)>>> calendar.monthrange(2014,11)(5, 30)>>> calendar.monthrange(2014,6)(6, 30)
Le code utilisé sur le premier jour du mois est:
0 : Lundi1 : Mardi2 : Mercredi3 : Jeudi4 : Vendredi5 : Samedi6 : Dimanche
Créer une boucle for
On peut alors créer une simple boucle for sur tous les jours d'un mois donné:
for i in range(monthrange(year, month)[1]):print( 'day {}'.format(i+1) )
donne
day 1day 2day 3day 4day 5day 6day 7day 8day 9day 10day 11day 12day 13day 14day 15day 16day 17day 18day 19day 20day 21day 22day 23day 24day 25day 26day 27day 28day 29
Vérifier si une année est bissextile
Exemple d'application: verifier si une année est bissextile ou non en python:
>>> calendar.monthrange(2012,2)[1]29>>> if calendar.monthrange(2012,2)[1] == 29:... print "Année bissextile"... else:... print "Année non bissextile"...Année bissextile>>> if calendar.monthrange(2013,2)[1] == 29:... print "Année bissextile"... else:... print "Année non bissextile"...Année non bissextile
