pyHook event.Time返回不规则的时间戳

时间:2018-06-11 20:23:44

标签: python unix logging time timestamp

我一直用Python编写基本的键盘记录器。检查我的日志时,我发现使用event.Time录制的时间戳不是Unix时间戳。它是什么样的时间戳,如何将其转换为可读格式?

import pyHook, pythoncom, sys, logging
advancedLog="path\\advanced_log.txt"

def OnKeyboardEvent(event):

    logging.basicConfig(filename=advancedLog, level=logging.DEBUG, format='%(message)s')

    logging.log(10,chr(event.Ascii))
    logging.log(10,'MessageName: {}'.format(event.MessageName))
    logging.log(10,'Message: {}'.format(event.Message))

    logging.log(10,'Time: {}'.format(event.Time))

    logging.log(10,'Window: {}'.format(event.Window))
    logging.log(10,'WindowName: {}'.format(event.WindowName))
    logging.log(10,'Ascii: {}'.format(event.Ascii))
    logging.log(10,'Key: {}'.format(event.Key))
    logging.log(10,'KeyID: {}'.format(event.KeyID))
    logging.log(10,'--------------')

    return True


hookManager = pyHook.HookManager()
hookManager.KeyDown = OnKeyboardEvent
hookManager.HookKeyboard()
pythoncom.PumpMessages()

我收到的输出:

Time: 561750343

1 个答案:

答案 0 :(得分:3)

这不是一个实际的时间戳。这是“自上次启动以来的毫秒数”。如果要保存当前时间,可以使用time库。

  

这不是“自纪元以来的秒数”。它直接来自   Win32 EVENTMSG结构的“time”成员,以。为单位   “自上次启动以来的毫秒数。”

来源: Python.org