首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中获取本月的最后一天

在Python中获取本月的最后一天
EN

Stack Overflow用户
提问于 2018-09-19 04:26:59
回答 2查看 0关注 0票数 0

有没有办法使用Python的标准库轻松确定(即一个函数调用)给定月份的最后一天?

如果标准库不支持,那么dateutil包是否支持此功能?

EN

回答 2

Stack Overflow用户

发布于 2018-09-19 12:45:40

如果您不想导入calendar模块,可以使用简单的两步功能:

代码语言:javascript
复制
import datetime

def last_day_of_month(any_day):
    next_month = any_day.replace(day=28) + datetime.timedelta(days=4)  # this will never fail
    return next_month - datetime.timedelta(days=next_month.day)

输出:

代码语言:javascript
复制
>>> for month in range(1, 13):
...     print last_day_of_month(datetime.date(2012, month, 1))
...
2012-01-31
2012-02-29
2012-03-31
2012-04-30
2012-05-31
2012-06-30
2012-07-31
2012-08-31
2012-09-30
2012-10-31
2012-11-30
2012-12-31
票数 0
EN

Stack Overflow用户

发布于 2018-09-19 13:34:45

使用relativedelta你会得到这样的月份的最后一个日期:

代码语言:javascript
复制
from dateutil.relativedelta import relativedelta
last_date_of_month = datetime(mydate.year,mydate.month,1)+relativedelta(months=1,days=-1)

这个想法是为了获得一个月中的第一天并使用relativedelta前一个月和一天后退,这样你就可以得到你想要的月份的最后一天。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100000781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档