以下代码适用于写入时间< =' 20130215'。
WqlObjectQuery query = new WqlObjectQuery("select * from win32_NTLogEvent where logfile='Application' and type='information' and **timewritten<='20130214'** and eventcode='1022'");*emphasized text*
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach(ManagementObject mo in searcher.Get())
{
Console.WriteLine("Log file: " + mo["logfile"]);
Console.WriteLine("Event type: "+mo["type"]);
Console.WriteLine("Event Code: " + mo["eventcode"]);
Console.WriteLine("Time generated: " + mo["timegenerated"]);
Console.WriteLine("Event Source: "+mo["Sourcename"]);
}
当测试时间如下所示,
timewritten <='20130214'
timewritten ='20130214'
你可以告诉我它发生的原因吗。
答案 0 :(得分:0)
timewritten
是datetime
值 - 它有一个时间组件。如果您没有在转换为datetime
的文字中指定时间分量,则会在当天开始时获得午夜。
timewritten ='20130214'
会要求在14日午夜发生的任何事件。
timewritten <='20130214'
要求在 14日之前发生的任何事件,或者在14日的正好午夜发生的事件。
如果您没有任何与这些描述相符的活动,您将无法获得任何结果。
如果我怀疑你想要发生在14日发生的所有事件,无论在什么时间,你最好timewritten >= '20130214' and timewritten < '20130215'