向循环python中的每个日期添加deltatime

向循环python中的每个日期添加deltatime,python,datetime,Python,Datetime,嘿,伙计们,我试着给循环中的每个日期添加时间增量,但最后只给循环中的第一个日期添加时间增量。代码如下: import datatime import time from datetime import timedelta, date td= datetime.timedelta(days=7) for d in daterange(date(2019, 1, 1,), date(2019, 1, 5)): print(d+td) >>>2019-01-08 &g

嘿,伙计们,我试着给循环中的每个日期添加时间增量,但最后只给循环中的第一个日期添加时间增量。代码如下:

import datatime
import time
from datetime import timedelta, date


td= datetime.timedelta(days=7)

for d in daterange(date(2019, 1, 1,), date(2019, 1, 5)):
   print(d+td)


>>>2019-01-08
>>>2019-01-09
>>>2019-01-10
>>>2019-01-11

为什么不将添加应用于范围内的日期?解决方案是什么?

虽然很难判断原始代码有什么问题,但您是否正在寻找类似的方法,使用给定的步骤迭代日期/日期时间

import datetime


def date_range(start, end, step: datetime.timedelta):
    while start < end:
        yield start
        start += step


for d in date_range(
    start=datetime.date(2019, 1, 1),
    end=datetime.date(2019, 2, 9),
    step=datetime.timedelta(days=7),
):
    print(d)

您没有导入任何名为
daterange
;此代码无法工作。除此之外,此代码似乎工作正常。2019-01-01+7天=2019-01-08;2019-01-02+7天=2019-01-09…它正在工作,但问题在于将时间增量添加到所有输出中,而不仅仅是添加到第一个输出中。它正是这样做的。您将迭代4天,并为每一天添加一周。我需要将输出添加7天,而不仅仅是第一次输出,如下所示:2019-01-08、2019-01-15、2019-01-22、2019-01-29
2019-01-01
2019-01-08
2019-01-15
2019-01-22
2019-01-29
2019-02-05