我对 Windows 事件日志中显示的时区有疑问。我读到过,如果我从另一台机器导出 Windows 事件日志并在具有不同时区的机器上打开它,事件的时间将转换为我的时区。场景是我正在调试在 JST 时区设置的 VM 中发生的问题。当我在 IST 时区的本地机器上打开文件时,我可以在 Windows 日志中看到一个事件,如下所示:
进程 C:\Program Files\Altek\Agent\bin\altekbin.exe (VERY1) 已代表用户 NT AUTHORITY\SYSTEM 启动计算机 VERY1 的关闭,原因如下:找不到与此原因相关的标题原因代码:0x3000c
记录时间:23-01-2020 18:20:13
由于我的机器上显示的时间是 18:20:13(采用 IST),因此我认为实际发生时间(采用 JST)是 21.50 JST。我的理解正确吗?这个时间戳转换对我来说有点混乱,所以如果有人能解答我的疑惑,我将不胜感激。
答案1
Windows 以 UTC 时间存储事件日志中事件的时间戳 - 无论计算机当前配置的时区如何。但是,在查看事件时,时间戳将转换为本地时间 - 具体取决于当前时区设置。
因此,事件的时间戳将始终显示在当前本地时间 - 无论最初记录时的时区是什么。
示例:事件于美国东部时间 21:30:00 写入,随后整个日志被导出到 EVTX 文件并发送给加利福尼亚州的某人,这比当地时间晚了 3 个小时。如果加利福尼亚州的用户(使用太平洋标准时间)查看同一事件,则将显示该事件于当地时间 18:30:00 记录。这是因为记录该事件时加利福尼亚州的时间是 18:30:00。
我希望这能解释这一点。