Parse CIM_DateTime to .Net DateTime

2020-02-14 04:01发布

问题:

My application is receiving some date information from WMI. This in the form of strings with the following format:

yyyymmddHHMMSS.mmmmmmsUUU

For more details on this format, see here. I'm interested in parsing everything before the period. I have the following code:

    string testDate = "20010701212212"; // July, 01, 2001 21:22:12, in the format specified above
    string format = "yyyyMMddHHmmSS";
    CultureInfo culture = CultureInfo.InvariantCulture;
    DateTime newDate = DateTime.ParseExact(date, format, culture);

This always fails on the call to ParseExact(), with an exception stating that "String was not recognized as a valid DateTime." What am I doing wrong here?

回答1:

That's almost correct. You want the following format string:

yyyyMMddHHmmss

i.e. Two-digit seconds is represented by lower-case "ss".



回答2:

Use ManagementDateTimeConverter.ToDateTime()

Credit goes to Uros Calakovic from this question.