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

如何根据给定年份获取各季度的最后一个周五日期?

实现指定年份各季度最后一个周五的日期

核心思路

每个季度的最后一个月分别是3月、6月、9月、12月,只需找到这四个月的最后一个周五即可。具体逻辑:

  • 先获取目标月份的最后一天
  • 从该日期向前遍历,直到定位到周五

Python 实现代码

import datetime

def get_last_fridays(year):
    # 季度末的月份列表
    quarter_end_months = [3, 6, 9, 12]
    for month in quarter_end_months:
        # 计算当月最后一天:下个月第一天减1天,自动适配平闰年
        last_day = datetime.date(year, month + 1, 1) - datetime.timedelta(days=1)
        # 从最后一天往前找周五(weekday()返回4代表周五,周一为0)
        while last_day.weekday() != 4:
            last_day -= datetime.timedelta(days=1)
        # 匹配示例的月份大小写格式输出
        month_name = last_day.strftime("%B").capitalize() if month in [3,6] else last_day.strftime("%B").lower()
        print(f"last friday in {month_name}")

# 调用示例:传入指定年份
get_last_fridays(2024)

代码说明

  1. 确定季度末月份:直接锁定3、6、9、12这四个季度收尾月份;
  2. 计算当月最后一天:通过「下个月第一天减1天」的方式,无需手动判断每月天数,自动兼容平年、闰年;
  3. 定位最后一个周五:从当月最后一天开始逐日回退,直到找到周五(datetime中weekday()方法返回4对应周五);
  4. 格式适配:完全匹配示例的月份大小写要求,3月、6月首字母大写,9月、12月全小写(若无需区分,直接用last_day.strftime("%B")即可统一首字母大写)。

运行示例

传入年份2024时,输出如下:

last friday in March
last friday in June
last friday in september
last friday in december

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:15:31