Мне нужно рассчитать количество дней для данного месяца в python. Если пользователь вводит февраль 2011 года, программа должна быть в состоянии сказать мне, что в феврале 2011 года было 28 дней. Может ли кто-нибудь сказать мне, какую библиотеку я должен использовать, чтобы определить длину данного месяца.
Как определить количество дней для данного месяца в python
Ответ 1
Используйте calendar.monthrange
:
>>> from calendar import monthrange
>>> monthrange(2011, 2)
(1, 28)
Чтобы быть понятным, monthrange
также поддерживает високосные годы:
>>> from calendar import monthrange
>>> monthrange(2012, 2)
(2, 29)
Ответ 2
Альтернативное решение:
>>> from datetime import date
>>> (date(2012, 3, 1) - date(2012, 2, 1)).days
29
Ответ 3
Только ради академического интереса, я сделал это таким образом...
(dt.replace(month = dt.month % 12 +1, day = 1)-timedelta(days=1)).day