代码之家  ›  专栏  ›  技术社区  ›  TWA

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

  •  11
  • TWA  · 技术社区  · 15 年前

    我有一个指定时间的wmi查询,格式为'20090219000000.000000+480'

    有人能告诉我这是什么格式吗,.net有内置的功能吗?

    编辑

    这个时间值来自我找到的一个示例查询。我不知道用什么时间值来生成它。我只需要能够转换成这种格式的时间值。

    编辑2

    我发现这次是在 CIM_DATETIME 格式。

    5 回复  |  直到 15 年前
        1
  •  16
  •   Scott Dorman    15 年前

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

    '20090219000000.000000+480'

    'yyyymmddhhmmss.ffffff+480'

    yyyy-四位数的年份。
    mm-数字月份。一位数的月份有前导零。
    dd-每月的某一天。一位数的天数前导零。
    hh-12小时制中的小时。一位数的小时有前导零。(这也可以是hh,它是24小时制中的一个小时,其中一位数的小时具有前导零。)
    嗯-那一分钟。一位数分钟有前导零。
    ffffff-六位数精度中的秒分数。

    “+480”很可能是时区指示器,尽管不是标准指示器。通常时区表示为从UTC开始的小时(或小时和分钟)。可能只有几分钟。因此,没有标准格式说明符。

    NET中的DateTime类是用于处理此值的类。但是,在将剩余的字符串解析为实际的datetime变量之前,您可能需要去掉“+480”部分。然后,您可以将其调整到正确的时区,或提前执行时区转换(从分钟到小时/分钟),并将“+480”更改为正确的时区表示,然后将整件事传递给datetime.parse。

        2
  •  20
  •   Uros Calakovic    15 年前

    正如其他人所说,字符串是 DATETIME MOF data type . 它是一个固定长度的字符串,您可以找到其结构的详细信息 here . .NET的使用 System.Management namespace 访问wmi及其类之一是 ManagementDateTimeConverter 类,该类有助于使用wmi datetime值。

        3
  •  3
  •   Jason Down    15 年前

    看看这个 link . 只要看一下,我就会说它是yyyymmddhhmms格式的。

        4
  •  1
  •   James Curran    15 年前

    如果你告诉我们它代表的日期会有帮助的。从2009年开始,它可能是yyyymmddhhmmss.ffffff+tz

    (F=秒的分数,Tz与UTC的差以分钟为单位,所以这里是6小时)

        5
  •  1
  •   PVitt    15 年前

    您可以使用datetime.parseexact-methode(string,string,iformatprovider,datetimestyles)来分析它

    格式字符串为“yyyymmddhhmmss.ffffff zzz”

    推荐文章