有没有办法使用 Python 的标准库轻松确定(即一个函数调用)给定月份的最后一天?
如果标准库不支持,dateutil 包是否支持?
原文由 Cristian 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有办法使用 Python 的标准库轻松确定(即一个函数调用)给定月份的最后一天?
如果标准库不支持,dateutil 包是否支持?
原文由 Cristian 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果不想导入 calendar
模块,简单的两步功能也可以:
import datetime
def last_day_of_month(any_day):
# The day 28 exists in every month. 4 days later, it's always next month
next_month = any_day.replace(day=28) + datetime.timedelta(days=4)
# subtracting the number of the current day brings us back one month
return next_month - datetime.timedelta(days=next_month.day)
输出:
>>> for month in range(1, 13):
... print(last_day_of_month(datetime.date(2022, month, 1)))
...
2022-01-31
2022-02-28
2022-03-31
2022-04-30
2022-05-31
2022-06-30
2022-07-31
2022-08-31
2022-09-30
2022-10-31
2022-11-30
2022-12-31
原文由 augustomen 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答879 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
calendar.monthrange
提供以下信息:所以:
似乎是最简单的方法。