Skip to main content
 首页 » 编程设计

python之如何从给定日期获取该月的最后一天

2025年05月04日15mate10pro

我的数据框中有一列日期,我想从日期中获取该月的最后一天 例如,如果日期是 '2017-01-25' 我想得到 '2017-01-31' 我想我可以从日期中获取月份和年份编号并使用 monthrange 来计算该月的最后一天,但我正在寻找单行代码

请您参考如下方法:

如果你有一个日期 d 那么最简单的方法是使用 calendar查找一个月中天数的模块:

datetime.date(d.year, d.month, calendar.monthrange(d.year, d.month)[-1]) 

或者,仅使用 datetime,我们只需找到下个月的第一天,然后删除一天:

datetime.date(d.year + d.month // 12,  
              d.month % 12 + 1, 1) - datetime.timedelta(1) 

如果表达为:您可能会发现逻辑更清晰:

datetime.date(d.year + (d.month == 12),  
              (d.month + 1 if d.month < 12 else 1), 1) - datetime.timedelta(1)