在 python 中更改、重置和增加时间

Change, reset and increment time in python

我需要在python中增加时间,如果循环中范围的值增加,我需要将时间设置为原始值。

例子

start_time = '0230'
start_time = datetime.strptime(start_time, '%H%M')

difference_time = '0030'
difference_time = datetime.strptime(differece_time, '%H%M')

differnce_delta = timedelta(
    hours=difference.hour, minutes=difference.minute)

listvar = [5, 3, 4]

for i in range(3):
    x = listvar[i]
    for loop in range(x)
        print(f'{start_time.hour}:{start_time.minute}')
        start_time += difference_delta

现在如果 i 的值变为 2,我希望 start_time 恢复到原始值,即 0230。

您可以使用另一个变量作为原始值的占位符。

    start_time = '0230'
    start_time_holder = '0230'
    start_time = datetime.strptime(start_time, '%H%M')

    difference_time = '0030'
    difference_time = datetime.strptime(differece_time, '%H%M')

    differnce_delta = timedelta(
        hours=difference.hour, minutes=difference.minute)

    listvar = [5, 3, 4]

    for i in range(5):
        start_time = start_time_holder
        x = listvar[i]
        for loop in range(x):
            print(f'{start_time.hour}:{start_time.minute}')
            start_time += difference_delta

仅供参考:你会在 x = listvar[i] 处得到一个索引超出范围的错误,因为范围是 5 但列表长度只有 3