【问题标题】:Transform date while loop into for loop将日期while循环转换为for循环
【发布时间】:2021-07-27 13:52:10
【问题描述】:

我在 Python 中有以下 while 循环:

start_date: datetime.date = utcnow().date() - datetime.timedelta(
    days=30
)
end_date: datetime.date = utcnow().date()
DELTA_1D: datetime.timedelta = datetime.timedelta(days=1)
while start_date <= end_date:
    # some code
    start_date += DELTA_1D

但我想将其转换为for loop。最好的实现是什么?

【问题讨论】:

    标签: python for-loop while-loop


    【解决方案1】:

    通过简单的减法计算出他之间的天数

    from datetime import date, timedelta
    
    d0 = date(2008, 8, 18)
    d1 = date(2008, 9, 26)
    delta = d1 - d0
    for i in range(0,delta.days):
            date_to_handle = d0 + timedelta(days=i)
    

    【讨论】:

    • 我想知道我处理的是哪个日期,所以这有点复杂
    • 你想要一个for each 循环吗?
    • 我想在这两个时间间隔之间循环遍历每一天,并知道我正在处理哪个日期
    • 已更新,以便包含导入,并且您在 for 循环中拥有日期
    • 你可以用 date 或 datetiem @sg_sg94 来做到这一点
    猜你喜欢
    • 2018-02-22
    • 2017-04-26
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2020-06-20
    相关资源
    最近更新 更多