📅  最后修改于: 2023-12-03 15:40:17.567000             🧑  作者: Mango
在编写 Python 程序时,经常需要对月份进行处理,包括计算该月有多少天。在 Python 中,可以使用以下方法获取一个月的天数。
Python 的标准库 calendar
中提供了 monthrange(year, month)
方法,可以返回该月的第一天是星期几以及该月的天数。
import calendar
year = 2021
month = 8
first_day, num_days = calendar.monthrange(year, month)
print(f"The {year} year's {month} month has {num_days} days.")
输出结果:
The 2021 year's 8 month has 31 days.
Python 标准库中的 datetime
模块也提供了一个简单的方法来计算两个日期之间的天数。可以将下一个月的第一天减去当前月的最后一天。
import datetime
year = 2021
month = 8
next_month = month + 1 if month < 12 else 1
next_year = year + 1 if month == 12 else year
first_day_next_month = datetime.date(next_year, next_month, 1)
last_day_this_month = datetime.date(year, month, calendar.monthrange(year, month)[1])
num_days = (first_day_next_month - last_day_this_month).days
print(f"The {year} year's {month} month has {num_days} days.")
输出结果:
The 2021 year's 8 month has 31 days.
以上两种方法都可以用来计算一个月的天数,使用哪一种方法取决于具体的需求。