-->

什么格式是在这个时间值?(What format is this time value in?)

2019-07-04 01:28发布

我有一个WMI查询指定格式“20090219000000.000000 + 480”时间

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

编辑

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

编辑2

我发现这段时间是CIM_DATETIME格式。

Answer 1:

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

'20090219000000.000000 + 480'

'yyyyMMddhhmmss.ffffff + 480'

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

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

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



Answer 2:

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



Answer 3:

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



Answer 4:

如果你告诉我们的是迄今为止,它表示这将有助于。 它在2009年开始暗示它可能是YYYYMMDDHHMMSS.FFFFFF + TZ

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



Answer 5:

你可以用DateTime.ParseExact-了Methode解析这个(字符串,字符串,的IFormatProvider,DateTimeStyles)

格式字符串是“yyyyMMddHHmmss.ffffffzzz”



文章来源: What format is this time value in?