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