В каком формате это значение времени?

У меня есть запрос WMI, указывающий время в этом формате '20090219000000.000000 + 480'

Может кто-нибудь сказать мне, какой формат это, и имеет ли .NET какие-либо встроенные функции для работы с ним?

ИЗМЕНИТЬ

Это значение времени из полученного запроса образца. Я не знаю, какое значение времени использовалось для его создания. Мне просто нужно иметь возможность преобразовать значение времени в этот формат.

РЕДАКТИРОВАТЬ 2

Я узнал, что это время находится в формате CIM_DATETIME.

Ответ 1

Это выглядит как стандартная строка времени без разделителей:

'20090219000000,000000 + 480

'yyyyMMddhhmmss.ffffff + 480

yyyy - год в четыре цифры.
MM - числовой месяц. Однозначные месяцы имеют начальный ноль.
dd - день месяца. Однозначные дни имеют начальный ноль.
час - час в 12-часовом режиме. Однозначные часы имеют начальный ноль. (Это также может быть HH, который является часом в 24-часовом часе с одноразрядными часами, имеющими нулевой ноль.)
мм - минута. Однозначные минуты имеют начальный ноль.
ffffff - доля секунды с точностью до шести цифр.

"+480" , скорее всего, является индикатором часового пояса, хотя и не является стандартным. Обычно часовые пояса представляются в виде часов (или часов и минут) с UTC. Вероятно, это всего лишь минуты. Таким образом, спецификатор стандартного формата отсутствует.

Класс DateTime в .NET - это то, что вы будете использовать для работы с этим значением. Однако вы, вероятно, захотите снять часть "+480" , прежде чем разбирать оставшуюся строку в фактической переменной DateTime. Затем вы можете настроить его на правильный часовой пояс или выполнить преобразование часового пояса (от минут до часов/минут) досрочно и изменить "+480" на правильное представление часового пояса, а затем передать все это на DateTime.Parse.

Ответ 2

Как утверждали другие, строка является примером типа данных DATETIME MOF. Это строка фиксированной длины, и вы можете найти информацию о ее структуре здесь..Net использует пространство имен System.Management для доступа к WMI и один из его классов ManagementDateTimeConverter, который облегчает работу со значениями времени и времени WMI.

Ответ 3

Посмотрите на ссылку . Просто посмотрев, я бы сказал это в формате yyyyMMddhhmmss. [Целая куча символов "f" ].

Ответ 4

Это помогло бы, если бы вы сказали нам, что он представлен на дату. В начале 2009 года предполагается, что это может быть YYYYMMDDHHMMSS.FFFFFF + TZ

(F = доля секунд, а TZ - разница в UTC в минуту, так что здесь, 6 часов)

Ответ 5

Вы можете проанализировать это с помощью DateTime.ParseExact-Methode (String, String, IFormatProvider, DateTimeStyles)

Строка формата: "yyyyMMddHHmmss.ffffffzzz"