这个时间价值的格式是什么?

Dan*_*olt 11 .net c# wmi datetime wql

我有一个WMI查询,以这种格式指定时间'20090219000000.000000 + 480'

有人能告诉我这是什么格式,.NET是否有任何内置功能可以使用它?

编辑

此时间值来自我找到的示例查询.我不知道用什么时间来生成它.我只需要能够将时间值转换为此格式.

编辑2

我发现这次是CIM_DATETIME格式.

小智 20

正如其他人所建议的那样,字符串是DATETIME MOF数据类型的一个例子.它是一个固定长度的字符串,您可以在此处找到有关其结构的详细信息..Net使用System.Management命名空间来访问WMI,其中一个类是ManagementDateTimeConverter类,这有助于使用WMI日期时间值.

  • System.Management.ManagementDateTimeConverter.ToDateTime((字符串)result.GetPropertyValue( "TimeWritten")); 本可以节省我一小时自己写的= P (5认同)

Sco*_*man 17

这看起来像没有任何分隔符的标准日期时间字符串:

'20090219000000.000000 + 480'

'yyyyMMddhhmmss.ffffff + 480'

yyyy - 四位数的年份.
MM - 数字月份.单个数字月份具有前导零.
dd - 月份的日期.单位数天数为零.
...... - 12小时制的小时.单位数小时数为零.(这也可能是HH,这是24小时制的小时,单位数小时有一个前导零.)
mm - 分钟.单位数分钟的前导零.
ffffff - 六位精度的秒数.

"+ 480"很可能是时区指标,虽然不是标准指标.通常,时区表示为UTC的小时(或小时和分钟).这可能只是几分钟.因此,没有标准格式说明符.

.NET中的DateTime类是您用来处理此值的方法.但是,在将剩余的字符串解析为实际的DateTime变量之前,您可能希望关闭"+480"部分.然后,您可以将其调整到正确的时区或提前执行时区转换(从分钟到小时/分钟),并将"+480"更改为正确的时区表示,然后将整个事件传递给DateTime.Parse.