python - Django Python如何计算给定两个时间字符串的时间差

标签 python django time duration

在 Django Python 中,我有 2 个 HH:mm 时间字符串,如何获取持续时间(差异)?

例如:

15:30 and 11:00 ---> difference is 04:30
19:28 and 12:25 ---> difference is 07:03

最佳答案

我们可以首先将字符串解析为 datetime 对象:

from datetime import datetime, time

t1 = datetime.strptime(time_str1, '%H:%M')
t2 = datetime.strptime(time_str2, '%H:%M')

然后我们可以获得datetime对象之间的绝对差:

dt = abs(t2 - t1)

我们现在可以计算小时数和分钟数,如下所示:

t = time(dt.seconds // 3600, (dt.seconds // 60) % 60)

然后我们可以使用 strftime 打印该数字:

t.strftime('%H:%M')

或作为函数:

from datetime import datetime, time

def time_diff(time_str1, time_str2):
    t1 = datetime.strptime(time_str1, '%H:%M')
    t2 = datetime.strptime(time_str2, '%H:%M')
    dt = abs(t2 - t1)
    return time(dt.seconds // 3600, (dt.seconds // 60) % 60).strftime('%H:%M')

例如:

>>> time_diff('15:30', '11:00')
'04:30'
>>> time_diff('19:28', '12:25')
'07:03'

关于python - Django Python如何计算给定两个时间字符串的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54851287/

相关文章:

python - PyQt 入门

Python - 使用 OpenCV 如何将 .png 粘贴到单个 mp4 中?

Python 日期时间 : 21-Feb-12 to %d-%m-%Y

java - 创建定时器循环最被动的方式是什么?

python - openpyxl python3——格式化整行会引发奇怪的行为

django - Heroku:我的 Django 应用程序出现应用程序错误 H14: "No Web Processes Running"

python - Django 模型按日期时间的日期分组

python - 如何覆盖 django 管理翻译?

javascript - 将时间增量和速度纳入速度/摩擦运动

python - 在 Python 中为任务计时