为什么我不能遍历 2 个时间点?

Why I can't iterate through 2 points in time?

我的任务是获取 02:19:30 和 11:09:29 之间所有可能的时间变化的列表,所以它是:[02:19:30、02:19:31、.. ., 11:09:29].

我写了这段代码来遍历秒('print'将被列表追加替换):

start_time = datetime.time(2, 19, 30)
end_time = datetime.time(11, 9, 29)
delta = datetime.timedelta(seconds=1)

while start_time != end_time:
    print(str(start_time))
    start_time += delta

但是我一直收到这个错误:

回溯(最后一次调用): 文件“F:\PythonProjects\Python-lab5\main.py”,第 16 行,位于 start_time += 增量 类型错误:+= 不支持的操作数类型:'datetime.time' 和 'datetime.timedelta'

怎么了?

times 是“抽象的”——如果你想用它们做算术,你需要使用完整的 datetimes。

start_time = datetime.datetime(2021, 1, 1, 2, 19, 30)
end_time = datetime.datetime(2021, 1, 1, 11, 9, 29)
delta = datetime.timedelta(seconds=1)

while start_time != end_time:
    print(str(start_time.time()))
    start_time += delta