我需要在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
关于python - python 中的更改、重置和增加时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60309231/