2011-02-08 17 views

Respuesta

179

Uso calendar.monthrange:

>>> from calendar import monthrange 
>>> monthrange(2011, 2) 
(1, 28) 

Para que quede claro, monthrange registrados los años bisiestos, así:

>>> from calendar import monthrange 
>>> monthrange(2012, 2) 
(2, 29) 
+1

¿Qué (2,29) significa? Creo que debería ser (1,28) ... –

+1

@NamGVU El primer número es el día de la semana del primer día del mes, el segundo número es el número de días en dicho mes. –

26

solución alternativa:

>>> from datetime import date 
>>> (date(2012, 3, 1) - date(2012, 2, 1)).days 
29 
3

Sólo por el bien de interés académico , Lo hice de esta manera ...

(dt.replace(month = dt.month % 12 +1, day = 1)-timedelta(days=1)).day 
Cuestiones relacionadas