首页 > 解决方案 > 增加时间的最佳方法是什么?

问题描述

我想将用户给定的时间添加到另一个时间并将其增加 n 次

start_time = '7:00' #these values will be taken as string by user
hour_time = '0:30'
increment_var = 5

time_var = datetime.strptime(start_time, '%H:%M')
difference_time = datetime.strptime(hour_time, '%H:%M')

time_var2 = difference_time.time()

试过这个

timed = timedelta(
    hours=time_var2.hour, minutes=time_var2.minute)

for num in range(increment_var):
    diffrence = time_var + timed
    print(diffrence)

它给了我

1900-01-01 07:30:00
1900-01-01 07:30:00
1900-01-01 07:30:00
1900-01-01 07:30:00
1900-01-01 07:30:00

虽然我期待类似的东西

1900-01-01 07:30:00
1900-01-01 08:00:00
1900-01-01 08:30:00
1900-01-01 09:00:00
1900-01-01 09:30:00

和相同的结果

for num in range(increment_var):
    timed = timedelta(hours=time_var2.hour,
                      minutes=time_var2.minute)
    difference = time_var + timed
    print(difference)

标签: pythondatetimepython-datetime

解决方案


你能明白为什么下面的代码有效吗?

for num in range(increment_var):
    timed = timedelta(hours=time_var2.hour,
                      minutes=time_var2.minute)
    time_var = time_var + timed
    print(time_var)

推荐阅读