如何将 CAN 消息时间戳转换为 python 时间到系统时间


import time 
import can
def ReceiveMsg():
    bus = can.interface.Bus(channel= '1', bustype='vector',app_name = 'python-can')
    while True:
            a_listener = can.Listener()
            Message = bus.recv()
            a_listener.on_message_received(Message)
            if (Message != None) & (Message.arbitration_id == 0x329):
                print('Message is :',Message)
                return Message
if __name__ == '__main__':
    ReceiveMsg()

如果我执行,我将得到以下输出

Message is : Timestamp: 1559297416.090523        ID: 0329    S                DLC:  8    ca 00 03 28 00 00 00 00     Channel: 1

1559297416.090523 - 这是 Python 时间戳

在输出时间戳中:正在给 Python 时间

如何将 Python 时间转换为系统时间???

从这里回答

在 Python 3 中:

from datetime import datetime, timezone
datetime.fromtimestamp(Message.timestamp)

在 Python 2 中,使用 pytz:

from datetime import datetime
import pytz
datetime.fromtimestamp(Message.timestamp, pytz.utc)

最新更新