我在Python中有两个用于存储用户输入时间的字符串。它们被格式化为hh:mm:ss - 例如09:17:34
找到这两次之间差异的最简单方法是什么?时间总是在同一天,所以不必担心午夜重叠等等。
如果我使用字符串切片取出相关数字,然后使用datetime.datetime()
,我可以为每个设置datetime
个对象,但我需要给它一个日期以及时间我有。
我已经使用了time
模块,但是这似乎没有一种简单的方法来解决在{{.total_seconds
上使用timedelta
的方式的差异1}}对象确实。
有没有更简单的方法?
答案 0 :(得分:5)
直接在两个时间字符串上使用datetime.datetime.strptime()
;在解析时间组件时使用默认日期(1900-01-01)。
time1 = datetime.datetime.strptime(timestring1, '%H:%M:%S')
time2 = datetime.datetime.strptime(timestring2, '%H:%M:%S')
difference = time2 - time1
答案 1 :(得分:3)
您可以使用strptime
:
from datetime import datetime
t1 = datetime.strptime("02:03:04", "%H:%M:%S")
t2 = datetime.strptime("05:08:06", "%H:%M:%S")
t2 - t1
# datetime.timedelta(0, 11102)
(t2 - t1).seconds
# 11102