在本文中,您将学习计算任意开始和结束时间之间的时间差。
两个时间之间的时间差
以下步骤显示了如何在 Python 中计算两个时间之间的时间差
- 导入日期时间模块 from datetime import datetime
- 将时间字符串转换为日期时间对象 t1、t2
- 起始时间中减去结束时间
- 将时差转为字符串并用 split()分割“时分秒”
- 获取时差(以分钟为单位)
- 获取时差(以秒为单位)
- 获取时差(以毫秒为单位)
from datetime import datetime
start_time = "9:10:50"
end_time = "12:00:00"
t1 = datetime.strptime(start_time, "%H:%M:%S")
print('起始时间:', t1.time())
t2 = datetime.strptime(end_time, "%H:%M:%S")
print('结束时间:', t2.time())
delta = t2 - t1
hours,minutes,seconds = str(delta).split(':')
print(f"两个时间的时间差:{hours}小时 {minutes}分钟 {seconds}秒")
hours = delta.total_seconds() / (60 * 60)
print(f"两个时间的时间差:{hours} 小时")
min = delta.total_seconds() / 60
print(f"两个时间的时间差:{min} 分钟")
print(f"两个时间的时间差:{delta.total_seconds()} 秒")
ms = delta.total_seconds() * 1000
print(f"两个时间的时间差:{ms} 毫秒")
输出:
起始时间: 09:10:50
结束时间: 12:00:00
两个时间的时间差:2小时 49分钟 10秒
两个时间的时间差:2.8194444444444446 小时
两个时间的时间差:169.16666666666666 分钟
两个时间的时间差:10150.0 秒
两个时间的时间差:10150000.0 毫秒
两个日期之间的时间差
以下步骤显示了如何在 Python 中计算两个时间之间的时间差
- 导入 dateutil 模块
- 将日期字符串转换为日期时间对象
- 起始时间中减去结束时间
- 获取两个日期之间相差的天数
- 创建 relativedelta 对象,表示两个给定日期之间的间隔。
- 获取两个日期之间相差的年、月和日
from datetime import datetime
from dateutil import relativedelta
d1 = '18/8/2022'
d2 = '1/12/2023'
start_date = datetime.strptime(d1, "%d/%m/%Y")
end_date = datetime.strptime(d2, "%d/%m/%Y")
delta1 = end_date - start_date
print('起始日期:', start_date)
print('结束日期:', end_date)
print('两个日期之间的时间差:', delta1.days, '天')
delta2 = relativedelta.relativedelta(end_date, start_date)
print('两个日期之间的时间差:', delta2.years, '年,', delta2.months, '个月,', delta2.days, '天')
输出:
起始日期: 2022-08-18 00:00:00
结束日期: 2023-12-01 00:00:00
两个日期之间的时间差: 470 天
两个日期之间的时间差: 1 年, 3 个月, 13 天
?
文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈。
?