我一直在写ac#app将日志写入物理磁盘上的文件,但我注意到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);
}
}
}
提前谢谢。
答案 0 :(得分:0)
在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