我需要在Python中计算给定月份的天数。如果用户输入Feb 2011,程序应该能够告诉我Feb 2011有28天。有没有人能告诉我应该使用哪个库来确定给定月份的长度?
您应该使用calendar.monthrange:
calendar.monthrange
>>> from calendar import monthrange >>> monthrange(2011, 2) (1, 28)
需要说明的是,monthrange也支持闰年:
monthrange
>>> from calendar import monthrange >>> monthrange(2012, 2) (2, 29)
正如@Mikhail-Pyrev在评论中提到的:
第一个数字是该月第一天的工作日,第二个数字是该月的天数。
替代解决方案:
>>> from datetime import date >>> (date(2012, 3, 1) - date(2012, 2, 1)).days 29
只是为了学术兴趣,我这样做了……
(dt.replace(month = dt.month % 12 +1, day = 1)-timedelta(days=1)).day