📌  相关文章
📜  python datetime 一个月的最后一天 - Python (1)

📅  最后修改于: 2023-12-03 14:45:57.175000             🧑  作者: Mango

Python datetime 获取一个月的最后一天

在 Python 中,有许多方法可以处理日期和时间,其中 datetime 模块是最常用的之一。如果你想获取一个月的最后一天,也有许多方法可以实现。

方法一:使用 monthrange 函数

monthrange(year, month) 函数返回给定年份和月份的日历中,该月的第一天是星期几和该月总共的天数。因此,我们可以使用该函数来确定一个月的最后一天。

import datetime

year = 2022
month = 1
last_day = datetime.date(year, month, monthrange(year, month)[1])

print(last_day)

输出:

2022-01-31
方法二:使用 calendar 模块

calendar 模块提供了一些与日期和时间相关的实用函数和常量,其中包括 monthrange 函数。该函数返回一个元组,第一个元素是该月的第一天是星期几(0-6),第二个元素是该月总共的天数。因此,我们可以使用该函数来确定一个月的最后一天。

import datetime
import calendar

year = 2022
month = 2
last_day = datetime.date(year, month, calendar.monthrange(year, month)[1])

print(last_day)

输出:

2022-02-28
方法三:使用 timedelta 函数

timedelta 可以计算两个日期或时间之间的差值。通过将当前月份加上 1,再将日期设置为该月份的第一天并向前推一天,我们可以获取下个月的第一天,然后再将日期向前推一天,即可得到当前月份的最后一天。

import datetime

today = datetime.date.today()
first_day_month = datetime.date(today.year, today.month, 1)
next_month = first_day_month.replace(month=first_day_month.month+1)
last_day_month = next_month - datetime.timedelta(days=1)

print(last_day_month)

输出:

2022-10-31

以上三种方法都可以用来获取一个月的最后一天,具体使用哪种方法取决于你的需求和喜好。