EventLogEntry.TimeGenerated返回的日期完全错误
本文关键字:错误 日期 TimeGenerated 返回 EventLogEntry | 更新日期: 2023-09-27 18:00:15
我一直在写一个c#应用程序,它可以将日志写入物理磁盘上的文件,但我注意到TimeGenerated属性的一个奇怪行为-计算机上的本地日期是xx.xx.2056(不要问为什么),但该属性的值为xx.xx.1920年,时间也不匹配。
这是代码:
using (EventLog log = new EventLog("Application", "."))
{
using (StreamWriter sw = new StreamWriter("events.log"))
{
foreach (EventLogEntry e in log.Entries)
{
sw.WriteLine("{0} : {1} : {2}", e.TimeGenerated, e.EntryType, e.Message);
}
}
}
提前谢谢。
在win2003服务器sp2上测试,本地日期2056(事件查看器中的正确日期):
ManagementScope ms = new ManagementScope();
ObjectQuery oQuery = new ObjectQuery("Select * from Win32_NTLogEvent where Logfile = 'Application' and type ='Error'");
ManagementObjectSearcher oS = new ManagementObjectSearcher(ms, oQuery);
ManagementObjectCollection oCollection = oS.Get();
var i2 = oCollection.Cast<ManagementObject>().First();
DateTime timewritten = ManagementDateTimeConverter.ToDateTime(i2["TimeWritten"].ToString());
我得到1920