所以我有多个时间值,我想相互减去,但是在某些情况下,我收到了负的时间增量,我该如何在不更改实际值的情况下将其转换为正的时间值
我尝试使用 abs(),但它更改了实际值
#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)
我得到的结果是 -1天,13:01:00 但我想要这样的结果: 1天13:01:00 没有-ve号
答案 0 :(得分:0)
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:])
这是一个简单的解决方法,不确定是否是您想要的。
答案 1 :(得分:0)
time1=timedelta(hours=23,minutes=25,seconds=00)
time2=timedelta(hours=6,minutes=13,seconds=00)
print('{}'.format(time2 -time1).replace("-",""))
简单使用 str.replace() 就足够了,因为我们不知道哪个 timedelta 会更大。这将仅替换“-”(负号)。毕竟不是一些花哨的代码,嗯?