我已经编写了一个bash代码来运行iperf3并捕获数据包。然后,我使用tshark从.pcap文件中提取了帧时间。时间采用以下格式,2020年1月27日13:22:12.683438000 CET。

现在我想计算发送和接收的数据包之间的时间差,但是我不知道如何减去这种格式的时间。
我应该使用哪种变量类型以便执行减法。

我也使用过日期时间库,但没有得到结果。

最佳答案

检查以下几行是否可以帮助您

from datetime import datetime
from pytz import timezone

CET = timezone('CET')

send_time = datetime.strptime('11:18:57.925 Wed Jan 5 2019', '%H:%M:%S.%f %a %b %d %Y')
print(send_time.astimezone(CET))
difference_from_now = send_time.astimezone(CET) - datetime.now().astimezone(CET)
print(difference_from_now)

received_time = datetime.strptime('08:18:57.925 Mon Jan 20 2020', '%H:%M:%S.%f %a %b %d %Y')
print(received_time.astimezone(CET))

difference_send_received = send_time.astimezone(CET) - received_time.astimezone(CET)

print(difference_send_received)

10-07 15:09