【发布时间】:2020-11-30 17:47:30
【问题描述】:
我想计算两个 24 小时制时间值之间的时差,仅包含小时、分钟和秒值。然后,我想将时差拆分为小时、分钟和秒值,并将它们作为三个不同的变量输出。
例如,我想要的输出是:
time1 = '10:33:26'
time2 = '17:25:39'
Hours: 6
Minutes: 52
Seconds: 13
因为 17:25:39 是 10:33:26 之后的 6 小时 52 分 13 秒。
我试过下面的代码:
from datetime import datetime
s1 = '10:33:26'
s2 = '17:25:39'
FMT = '%H:%M:%S'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
print(tdelta)
它正确输出6:52:13,但我不知道如何将6、52 和13 拆分为三个不同的变量。
【问题讨论】:
-
直接使用
str(tdelta).split(":")。 -
我认为可能使用数值
tdelta.total_seconds()并进行计算会更加稳健。str(tdelta)旨在供人类阅读,而不是用于机器解析。
标签: python python-3.x datetime