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

标签 python python-3.x python-datetime

我需要在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/

相关文章:

python - Sklearn变压器确保输入变量长度一致?

python - 如何在 python 中设计一个像 sqlite 类的字典,它可以使用不同的字段作为 "key"?

python - 为 ARM 交叉编译静态 Python 3.5/3.6

python - 查找整个分区内的指定文件夹

python - Django-递归解析

python - 如何修复错误 <HttpError 404 "Requested entity was not found.">

python - 如何使用 python pandas 将此 Json 转换为 CSV?

python - 在python中获取每个月的最后一个星期五

python - 在python中使用日期获取周数

python - 图形在 Qt Designer 中显示,但不在 PyQt5 GUI 中显示