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

如何在Python中遍历两个datetime.date对象?

Python中遍历两个datetime.date对象的实现方法

在Python里,datetime.date对象无法直接通过+=1来递增日期,必须使用datetime.timedelta类处理时间间隔,以下是两种可行的实现方式:

方式一:修改while循环逻辑

把日期递增的代码替换为基于timedelta的操作,建议不要直接修改原始的date1变量,避免后续使用时出现意外:

import datetime

date1 = datetime.date(2024, 1, 10)
date2 = datetime.date(2024, 1, 20)

current_date = date1
while current_date < date2:
    # 这里执行你的业务操作,比如打印日期
    print(current_date)
    # 递增1天
    current_date += datetime.timedelta(days=1)

方式二:使用生成器实现日期范围迭代

如果需要多次复用日期遍历逻辑,可以封装一个生成器函数,让代码更简洁、Pythonic:

import datetime

def date_range(start_date, end_date):
    current = start_date
    while current < end_date:
        yield current
        current += datetime.timedelta(days=1)

date1 = datetime.date(2024, 1, 10)
date2 = datetime.date(2024, 1, 20)

for date in date_range(date1, date2):
    # 执行你的操作
    print(date)

原理说明

datetime.timedelta是Python标准库中用于表示时间间隔的类,通过指定days=1可以创建一个代表1天的间隔对象,将其与date对象相加即可实现日期递增。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:14:52