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

Python中遍历日期范围并设置迭代起止日期的方法

遍历日期范围生成连续日期对(fromDate/toDate)

你需要生成的是连续的相邻日期对,每个迭代中fromDate为当前日期,toDate为下一日日期,直到toDate等于指定的endDate。可以基于你现有的代码逻辑修改,直接生成所需的日期对:

基础实现代码

import datetime

start_date = datetime.date(2022, 10, 31)
end_date = datetime.date(2022, 11, 04)

# 计算日期范围内的天数差,确定迭代次数
total_days = (end_date - start_date).days

# 遍历生成每一组fromDate和toDate
for n in range(total_days):
    from_date = start_date + datetime.timedelta(days=n)
    to_date = start_date + datetime.timedelta(days=n + 1)
    # 按需求输出或处理日期对
    print(f"fromDate='{from_date}', toDate='{to_date}'")

运行这段代码会输出:

fromDate='2022-10-31', toDate='2022-11-01'
fromDate='2022-11-01', toDate='2022-11-02'
fromDate='2022-11-02', toDate='2022-11-03'
fromDate='2022-11-03', toDate='2022-11-04'

进阶:生成日期对列表

如果需要将所有日期对存储起来后续使用,可以生成列表:

import datetime

start_date = datetime.date(2022, 10, 31)
end_date = datetime.date(2022, 11, 04)

date_pairs = []
total_days = (end_date - start_date).days

for n in range(total_days):
    from_date = start_date + datetime.timedelta(days=n)
    to_date = start_date + datetime.timedelta(days=n + 1)
    date_pairs.append((from_date, to_date))

# 遍历列表使用日期对
for from_dt, to_dt in date_pairs:
    print(f"fromDate='{from_dt}', toDate='{to_dt}'")

转为字符串格式

如果需要将日期转为YYYY-MM-DD格式的字符串,可以使用strftime方法:

from_date_str = from_date.strftime('%Y-%m-%d')
to_date_str = to_date.strftime('%Y-%m-%d')
print(f"fromDate='{from_date_str}', toDate='{to_date_str}'")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 13:50:41