如何在Python中找到两个日期时间对象之间的差异(以毫秒为单位)?

时间:2018-02-05 22:03:02

标签: python python-2.7 datetime

我有两个日期时间对象,分别是02:49:01.210000和02:49:01.230000:

RA_1 = datetime.datetime.strptime(obs_data['RA'][3], "%H:%M:%S.%f").time()
RA_2 = datetime.datetime.strptime(pred_data['RA'][3], "%H:%M:%S.%f").time()

如何在毫秒内锻炼这两次之间的差异?

我尝试过执行RA_1 - RA_2,但收到错误:

unsupported operand type(s) for -: 'datetime.time' and 'datetime.time'

我也尝试过使用total_seconds(),但得到了错误:

'datetime.time' object has no attribute 'total_seconds'

1 个答案:

答案 0 :(得分:1)

这是计算两个time对象之间差异的方法。这是一个涉及向两个对象添加相同日期的黑客。

通过构造,它假设两个时间都与同一天相关。

from datetime import datetime, date, time

obs_data = {'RA': "22:24:05.52" }
pred_data = {'RA':"22:24:05.60"}

RA_1 = datetime.strptime(obs_data['RA'], '%H:%M:%S.%f').time()
RA_2 = datetime.strptime(pred_data['RA'], '%H:%M:%S.%f').time()

diff = datetime.combine(date.today(), RA_2) - datetime.combine(date.today(), RA_1)
diff.total_seconds() * (10 ** 3)
# 80.0 [ms]