Python:有没有一种方法可以减去日期时间对象,其值写为“小时”:“分钟”:“秒”:“毫秒”

时间:2020-07-29 04:41:51

标签: python datetime format difference

我正在尝试根据给定的小时,分​​钟,秒和毫秒将字符串转换为日期时间对象,因此我可以找到两个字符串之间的时间差。如果有更好的方法可以做到这一点,请告诉我,那太好了。

日期时间对象的格式如下:

但是当我尝试减去转换为日期时间对象的两个字符串时,结果不正确。例如:

from datetime import datetime

format = '%H:%M:%S:%f'

x = '12:51:11:153'
time1 = datetime.strptime(x, format)


y = '13:51:11:153'
time2 = datetime.strptime(y, format)

difference = time2 - time1

print(difference)

"The print" = 0:00:00

我是否缺少某种格式,或者是否有一种特殊的方法来相互减去日期时间对象?另外,有没有更简单的方法?

1 个答案:

答案 0 :(得分:0)

我认为您的解决方案是正确的。我无法重现。这是我的代码以及运行它的输出。

from datetime import datetime
import time
format = '%H:%M:%S:%f'
time1 = datetime.strptime("12:51:11:153", format)
time2 = datetime.strptime("13:51:11:153", format)

print((time2-time1).total_seconds())  

-> 3600.0秒 (类型为浮动)

type(time2-time1)->
time2-time1 -> datetime.timedelta(seconds = 3600)

相关问题