如何计算两个字符串之间的秒数差?
我在Python中有两个字符串,用来存储用户输入的时间。它们的格式是hh:mm:ss,比如09:17:34。
我想知道,最简单的方法是什么,来计算这两个时间之间的差值,单位是秒?这两个时间总是在同一天,所以不需要担心跨越午夜的问题。
如果我用字符串切片的方法提取出相关的数字,然后使用datetime.datetime()
,我可以为每个时间创建一个datetime
对象,但我还需要给它一个日期,除了时间之外。
我试过使用time
模块,但这个模块似乎没有像使用timedelta
对象的.total_seconds
那样简单的方法来计算时间差。
有没有更简单的方法呢?
2 个回答
4
你可以使用 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
6
直接使用 datetime.datetime.strptime()
来处理这两个时间字符串就可以了;当你只解析时间部分时,会默认使用一个日期(1900年1月1日)。
time1 = datetime.datetime.strptime(timestring1, '%H:%M:%S')
time2 = datetime.datetime.strptime(timestring2, '%H:%M:%S')
difference = time2 - time1