You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python获取当前周或季度的最后日期?

获取当前周、季度最后日期的简便方法

既然你已经在用pandas和dateutil的relativdelta获取当月最后一天,下面直接给你适配这两个工具的周、季度最后日期实现方法:

一、当前周的最后日期

注意:不同地区周的起止日有差异,以下默认以周日作为一周的最后一天(如果需要调整为周六或周一,改对应参数即可)。

用dateutil.relativedelta实现

借助dateutil.rrule里的星期常量,SU(-1)代表当前周的最后一个周日:

import pandas as pd
from dateutil.relativedelta import relativedelta
from dateutil.rrule import SU

today_date = pd.Timestamp.today().date()
current_week_last_date = today_date + relativedelta(weekday=SU(-1))

用pandas原生方法实现

Pandas的Timestamp自带weekday()方法(0=周一,6=周日),直接计算剩余天数:

today = pd.Timestamp.today()
# 计算到周日的剩余天数,加进去就是周最后一天
current_week_last_date = today + pd.Timedelta(days=(6 - today.weekday()))
# 如果要以周六为周结束,把6改成5即可

二、当前季度的最后日期

用dateutil.relativedelta实现

先跳到下一季度的第一天,再往前推一天,就能得到当前季度的最后一天:

today_date = pd.Timestamp.today().date()
# 计算需要跳几个月到下一季度首月,再减一天
current_quarter_last_date = today_date + relativedelta(months=3 - (today_date.month-1)%3, day=1) - relativedelta(days=1)

用pandas原生方法实现

Pandas的QuarterEnd偏移量可以直接定位到当前季度的结束日期,非常省心:

from pandas.tseries.offsets import QuarterEnd

today = pd.Timestamp.today()
current_quarter_last_date = today + QuarterEnd(n=0)
# n=0代表当前季度结束,n=1就是下一季度结束,以此类推

内容的提问来源于stack exchange,提问作者econlearner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 02:15:13