在python中查找2个时间戳值之间的时间差

时间:2018-02-17 05:00:07

标签: python timestamp

import datetime

def get_time_value(timestamp):
     time = datetime.datetime.fromtimestamp(timestamp)
     return time.strftime("%Y-%m-%d %H:%M:%S")

我有

start_time = 1518842893.04001
end_time = 1518842898.21265

get_time_value(end_time-start_time)

它给出了

1969-12-31 16:00:05

而不是正确的值

'startTime': '2018-02-16 20:48:13', 'endTime': '2018-02-16 20:48:18'

1 个答案:

答案 0 :(得分:-1)

要获取两个时间戳之间的时差,首先在减法之前将它们转换为datetime个对象。如果您这样做,那么结果将是datetime.timedelta对象。获得datetime.timedelta对象后,您可以将其转换为秒,或者您希望显示时差。

例如。

time1 = datetime.datetime.fromtimestamp(start_time)
time2 = datetime.datetime.fromtimestamp(end_time)
time_difference = time2 - time1
print(time_difference)

输出:

0:00:05.172640

或者:

print(time_difference.total_seconds())

输出:

5.17264