我有一个WMI查询,以此格式指定时间'20090219000000.000000 + 480'
有人可以告诉我这是什么格式,.NET是否有任何内置功能可以使用它?
修改
此时间值来自我找到的示例查询。我不知道用什么时间来生成它。我只需要能够将时间值转换为这种格式。
编辑2
我发现这个时间是CIM_DATETIME格式。
答案 0 :(得分:20)
正如其他人所说,字符串是DATETIME MOF data type的一个例子。它是一个固定长度的字符串,您可以找到有关其结构here的详细信息。 .Net使用System.Management namespace来访问WMI,其中一个类是ManagementDateTimeConverter类,这有助于使用WMI日期时间值。
答案 1 :(得分:16)
这看起来像没有任何分隔符的标准日期时间字符串:
'20090219000000.000000 + 480'
'yyyyMMddhhmmss.ffffff + 480'
yyyy - 四位数的年份。“+ 480”很可能是时区指标,虽然不是标准指标。通常,时区表示为UTC的小时(或小时和分钟)。这可能只是几分钟。因此,没有标准的格式说明符。
.NET中的DateTime类是您用来处理此值的方法。但是,在将剩余的字符串解析为实际的DateTime变量之前,您可能希望关闭“+480”部分。然后,您可以将其调整到正确的时区或提前执行时区转换(从分钟到小时/分钟),并将“+480”更改为正确的时区表示,然后将整个内容传递给DateTime.Parse。
答案 2 :(得分:3)
看看这个link。只是通过查看我会说它的格式为yyyyMMddhhmmss。[一大堆'f'字符]。
答案 3 :(得分:1)
如果你告诉我们它代表的日期会有所帮助。它在2009年开始表明它可能是YYYYMMDDHHMMSS.FFFFFF + TZ
(F =秒的分数,TZ与UTC的分钟差异,所以这里是6小时)
答案 4 :(得分:1)
您可以使用DateTime.ParseExact-Methode(String,String,IFormatProvider,DateTimeStyles)解析它
格式字符串为“yyyyMMddHHmmss.ffffffzzz”