【问题标题】:why specified date events are not retrieved?为什么没有检索到指定的日期事件?
【发布时间】:2013-02-14 07:21:56
【问题描述】:

以下代码在时间写入

  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' 

你能告诉我它发生的原因吗?

【问题讨论】:

  • 我不明白这个问题。什么时候有效,什么时候无效??

标签: c# .net datetime wmi


【解决方案1】:

timewritten 是一个 datetime 值 - 它有一个时间分量。如果您未在转换为 datetime 的文字中指定时间组件,则会在当天开始时获得午夜。

timewritten ='20130214' 会询问 14 日正好午夜发生的任何事件。

timewritten &lt;='20130214' 询问在 14 日之前或在 14 日午夜恰好发生的任何事件。

如果您没有任何符合这些描述的事件,您将不会得到任何结果。

如果我怀疑,如果您想要 14 日发生的所有事件,无论何时,您最好使用timewritten &gt;= '20130214' and timewritten &lt; '20130215'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 2022-08-23
    • 2021-03-01
    • 1970-01-01
    相关资源
    最近更新 更多