如何在Python中确定给定月份的天数

213 投票
3 回答
220638 浏览
提问于 2025-04-16 11:28

我需要在Python中计算某个月有多少天。如果用户输入2011年2月,程序应该能告诉我2011年2月有28天。有没有人能告诉我应该使用哪个库来确定某个月的天数?

3 个回答

17

出于学术兴趣,我是这样做的……

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

另一种解决方案:

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

你应该使用 calendar.monthrange 这个功能:

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

为了让你更明白,monthrange 也支持闰年:

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

正如 @mikhail-pyrev 在评论中提到的:

第一个数字是这个月第一天是星期几,第二个数字是这个月有多少天。

撰写回答