日期时间格式20131205205​​012.000000-000

时间:2013-12-05 21:45:10

标签: c#

当我使用WMI查询事件日志时,事件发生的时间是20131205205​​012.000000-000,例如

我怎么能把它转换成yymmdd hh:mm:ss或类似的 出于兴趣,这是什么格式?

C#代码

this.radGridViewEvents.Columns.Add("Time Written");
ManagementObjectSearcher searcher =
    new ManagementObjectSearcher("root\\CIMV2",
    "SELECT * FROM Win32_NTLogEvent WHERE EventType = 1");
        foreach (ManagementObject queryObj in searcher.Get())
{
    this.radGridViewEvents.Rows.Add(queryObj["TimeWritten"]);
}

2 个答案:

答案 0 :(得分:2)

其UTC格式,与此类似,但没有分隔符/标点符号;

2013-12-05T18:13:27+00:00

我不确定-000代表什么,但我认为其余的是第二部分。解析它的一种方法是使用DateTime.ParseExact。假设你修剪了-000,你可以像这样解析其余部分;

var date = DateTime.ParseExact("20131205205012.000000", 
                                           "yyyyMMddHHmmss.ffffff",
                                           CultureInfo.InvariantCulture,
                                           DateTimeStyles.AssumeUniversal |
                                           DateTimeStyles.AdjustToUniversal);

答案 1 :(得分:0)

-000是GMT偏移量,也可以是正值