Search code examples
pythondatetimetimedelta

How to convert negative datetime.timedelta to positive datetime.timedelta value


so I have multiple time value which I wanna subtract with each other but some of the cases I receive negative timedelta how do I convert it into positive without change the actual value

I tried to use abs() but it change the actual value


#for example:
time1=timedelta(hours=23,minutes=25,seconds=00)
time2=timedelta(hours=6,minutes=13,seconds=00)

delta_time_value = time2 -time1
print(delta_time_value) #-1 day, 13:01:00 (ANSWER)

The result which I was getting is -1 day, 13:01:00 but I want the result like this 1 day, 13:01:00 without -ve sign


Solution

  • from datetime import timedelta
    
    time1=timedelta(hours=23,minutes=25,seconds=00)
    time2=timedelta(hours=6,minutes=13,seconds=00)
    
    delta_time_value = str(time2 - time1)
    
    print(delta_time_value)
    
    if delta_time_value[0] == "-":
      print(delta_time_value[1:])
    

    This is a easy fix, not sure if it is what you are looking for.