我有一个WMI查询,指定在该格式 '20090219000000.000000 + 480'

的时间

有人能告诉我这是什么样的格式,并没有.NET有任何内置的功能与它的工作?

修改

此时间值是从一个示例查询,我发现。我不知道使用的时间值生成它。我只需要能够将时间值转换为这种格式。

修改2

我发现这个时间是在 CIM_DATETIME 格式。

有帮助吗?

解决方案

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

'20090219000000.000000 + 480'

'yyyyMMddhhmmss.ffffff + 480'

YYYY - 表示年份的四位数字结果。 MM - 月份数字。一位数的月份有一个前导零。结果 DD - 这个月的一天。一位数的日期有一个前导零。结果 HH - 在12小时制的小时。一位数的小时数有前导零。 (这也可能是HH,这是在一个24小时时钟与具有前导零个位数小时小时。),点击 毫米 - 分。单数的分钟数有一个前导零。结果 FFFFFF - 六位精度的第二馏分。

在“480”,是最有可能是时区指示器,虽然不是一个标准。通常的时区被表示为从UTC小时(或小时和分钟)。这似乎很可能只是几分钟。因此,不存在标准格式说明。

在.NET DateTime类是你会用什么与此值继续工作。但是,你可能会想在一个实际的DateTime变量解析剩下的字符串之前采取了“+480”部分关闭。然后,可以将其调整到正确的时区或执行时区转换(从几分钟到几小时/分钟)的时间提前,改变“480”,以正确的时区表示,然后通过整个事情DateTime.Parse。

其他提示

正如其他人提出的字符串是 DATETIME的一个例子MOF数据类型。这是一个固定长度的字符串,你可以找到关于它的结构的这里。 .NET使用 System.Management命名空间访问WMI和一个它的类是促进与WMI的日期时间的工作 ManagementDateTimeConverter 类值。

看看这个链接。只要看我会说这是在YYYYMMDDHHMMSS的格式。[一大堆的“F”字。

如果你告诉我们的是它代表了日这将有助于。它在2009年的开始表明,它可以是YYYYMMDDHHMMSS.FFFFFF + TZ

(F =秒分数,TZ是从UTC分钟差,所以在这里,6小时)

可以与DateTime.ParseExact-了Methode(字符串,字符串,的IFormatProvider,DateTimeStyles)

解析该

的格式字符串是 “yyyyMMddHHmmss.ffffffzzz”

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top