如何在两个字符串之间获得秒数差异?

时间:2014-09-15 21:12:34

标签: python time python-datetime

我在Python中有两个用于存储用户输入时间的字符串。它们被格式化为hh:mm:ss - 例如09:17:34

找到这两次之间差异的最简单方法是什么?时间总是在同一天,所以不必担心午夜重叠等等。

如果我使用字符串切片取出相关数字,然后使用datetime.datetime(),我可以为每个设置datetime个对象,但我需要给它一个日期以及时间我有。

我已经使用了time模块,但是这似乎没有一种简单的方法来解决在{{.total_seconds上使用timedelta的方式的差异1}}对象确实。

有没有更简单的方法?

2 个答案:

答案 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