python - 如何在 Python 中找到两次之间的差异?

标签 python python-3.x

我试图找出 Python 中两次之间的区别。保证时间在同一天。

#For example
s1 = '13:00' 
s2 = '12:58'

这两次之间的时间差应该是 2 分钟。输出应该是:2

这是我的代码:

from datetime import datetime
s1 = '13:00'
s2 = '12:58'
FMT = '%H:%M'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
print(tdelta)

但它返回:

-1 day, 23:58:00

我该如何解决这个问题并将我的时间返回为:2

最佳答案

您可以尝试使用 abs 作为结果,即 abs(datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)):

from datetime import datetime
s1 = '13:00'
s2 = '12:58'
FMT = '%H:%M'
tdelta = abs(datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT))
print(tdelta)

结果:

0:02:00

更新:

正如下面评论中所建议的,如果您特别想要分钟的差异,您可以在tdelta中使用.total_seconds()/60:

from datetime import datetime
s1 = '13:00'
s2 = '12:58'
FMT = '%H:%M'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
minutes_difference = abs(tdelta.total_seconds()/60)
print(minutes_difference)

结果:

2.0

关于python - 如何在 Python 中找到两次之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50667938/

相关文章:

python - H2o 包错误 : Cannot perform booster operation: updater is inactive on node/127. 0.0.1:54321

c++ - 如何使用 python、perl 或 sed 从头文件中提取注释?

python - 无法使用 instabot 登录

python - 尝试打开 Jupyter notebook 或 Spyder 时出现内核错误

java - 我怎样才能保护自己免受 zipper 炸弹的伤害?

python - 检查 pandas 列的连续行值

python - Shell/Python程序: How to convert my log file into an vim quick fix format?

python-3.x - 决策树有 2 个相似的节点

python-3.x - XGBClassifier() Python 3.x 中的子样本、colsample_bytree、colsample_bylevel

python - 使用多个查询对 Python 中的数据帧进行子集化