Search code examples
pythondatetimepython-datetime

What's the best way to increment time?


I want to add time given by user to another time and increment it for n number of times

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()

Tried this

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

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

And it gives me

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

While I'm expecting something like

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

And same results with

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

Solution

  • Can you see why this code below works?

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