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

技术问询:如何查找月份的第一至第四个周六?含输出格式示例

嘿,我来帮你搞定查找指定月份第1到第4个周六的需求!下面我会用实际例子和可落地的方案来演示,保证你能直接用~

查找指定月份的第1-4个周六的方法

核心思路

要定位目标月份的前4个周六,逻辑很清晰:

  • 先确定当月第一天的星期数,算出第一个周六的具体日期
  • 之后每个周六都在前一个的基础上加7天,直到超出当月范围或者收集够4个(毕竟有些月份可能只有3个周六,比如2024年2月)

示例演示(以2024年10月为例)

完全按照你要求的格式输出结果:

2024, 10, Week#1: 5
2024, 10, Week#2: 12
2024, 10, Week#3: 19
2024, 10, Week#4: 26

实用代码实现(Python)

如果你需要自动化批量计算,可以用这段Python代码,输入年份和月份就能直接得到结果:

import datetime

def get_month_saturdays(target_year, target_month):
    # 获取目标月份的第一天
    first_day_of_month = datetime.date(target_year, target_month, 1)
    # 计算到第一个周六的天数:isoweekday()中周六对应6,周一到周日是1-7
    days_until_first_sat = (6 - first_day_of_month.isoweekday()) % 7
    current_sat = first_day_of_month + datetime.timedelta(days=days_until_first_sat)
    
    weekly_saturdays = []
    # 收集前4个周六,同时确保日期仍在目标月份内
    for week_idx in range(1, 5):
        if current_sat.month == target_month:
            weekly_saturdays.append((week_idx, current_sat.day))
            current_sat += datetime.timedelta(days=7)
        else:
            # 遇到跨月的情况直接停止(比如部分月份只有3个周六)
            break
    return weekly_saturdays

# 测试示例:2024年10月
year_input, month_input = 2024, 10
results = get_month_saturdays(year_input, month_input)
# 按要求格式输出
for week_num, day in results:
    print(f"> {year_input}, {month_input}, Week#{week_num}: {day}")

Excel手动计算方案

如果用Excel处理,也可以用公式快速算出:

  • 第一个周六:=DATE(A1,B1,1)+(6-WEEKDAY(DATE(A1,B1,1),2))(A1填年份,B1填月份,WEEKDAY参数2表示周一=1、周日=7)
  • 第二个周六:=第一个周六单元格+7
  • 第三个周六:=第二个周六单元格+7
  • 第四个周六:=第三个周六单元格+7
    最后记得检查第四个日期的月份是否和目标月份一致,避免跨月无效值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:24:04