I am trying to compute differences in time as follows:
import datetime
time_1 = datetime.datetime.strptime('18:00',"%H:%M")
time_2 = datetime.datetime.strptime('05:00',"%H:%M")
time_interval = time_2 - time_1
This results in:
datetime.timedelta(days=-1, seconds=39600)
Now, when I add this to some date like:
low_date = datetime.datetime(2000, 1, 1, 18, 0)
low_date + time_interval
This results in:
datetime.datetime(2000, 1, 1, 4, 0)
So, it is representing going backwards in time but I always want the difference to go forward i.e. time_2 should be interpreted as being in the future of time_1. In this case, time_2 is 5 AM the next day.
If time_2 was something like:
time_2 = datetime.datetime.strptime('21:00',"%H:%M")
It should be interpreted as 9 PM on the same day.
EDIT
Solved it by adding something like:
if time_interval.days < 0:
time_interval = datetime.timedelta(
days=0,
seconds=time_interval.seconds)