Question

J'ai une requête WMI qui spécifie le temps dans ce format '20.090.219.000.000,000000 + 480'

Quelqu'un peut-il me dire quel format est ce, et .NET ne possède aucune fonctionnalité intégrée pour travailler avec elle?

EDIT

Cette valeur de temps est d'une exemple de requête que j'ai trouvé. Je ne sais pas quelle valeur le temps a été utilisé pour générer. J'ai juste besoin d'être en mesure de convertir une valeur de temps à ce format.

EDIT 2

J'ai découvert cette fois-ci est en CIM_DATETIME format.

Était-ce utile?

La solution

Cela ressemble à une chaîne de temps de date standard sans séparateurs:

'20.090.219.000.000,000000 + 480'

'yyyyMMddhhmmss.ffffff + 480'

aaaa - L'année en quatre chiffres
. MM - Le mois numérique. mois chiffres unique ont un zéro.
dd - Le jour du mois. jours chiffres unique ont un zéro.
hh - L'heure dans une horloge de 12 heures. heures à un seul chiffre ont un zéro. (Cela pourrait aussi être HH, qui est l'heure dans une horloge de 24 heures avec des heures à un seul chiffre ayant un zéro.)
mm - La minute. minutes chiffres unique ont un zéro.
ffffff - La fraction de seconde de précision à six chiffres.

Le « +480 » est très probablement un indicateur de fuseau horaire, mais pas une norme. Normalement, les fuseaux horaires sont représentés comme des heures (ou heures et minutes) de l'UTC. Cela semble probablement être minutes. En tant que tel, il n'y a pas spécificateur de format standard.

La classe DateTime .NET est ce que vous utilisez pour travailler avec cette valeur. Cependant, vous voudrez probablement prendre la partie « +480 » avant de la chaîne restante analyse syntaxique pour une variable DateTime réelle. Vous pouvez ensuite régler le fuseau horaire correct ou effectuer la conversion de fuseau horaire (de minutes en heures / minutes) à l'avance et changer le « +480 » à la représentation correcte et fuseau horaire puis passer le tout à DateTime.Parse.

Autres conseils

Comme d'autres l'ont suggéré la chaîne est un exemple de DATETIME données MOF de type . Il est une chaîne de longueur fixe et vous pouvez trouver des détails sur sa structure . .Net utilise System.Management espace de noms pour accéder à WMI et l'un des ses classes est classe ManagementDateTimeConverter qui facilite le travail avec datetime WMI valeurs.

Jetez un oeil à cette . Juste en regardant, je dirais qu'il est dans un format de yyyyMMddhhmmss. [Tout un tas de caractères « f »].

Il serait utile que vous nous avez dit était date représentée. Il 2009 au début suggère qu'il peut être YYYYMMDDHHMMSS.FFFFFF + TZ

(F = fraction de seconde, et TZ étant la différence de l'UTC en minute, donc ici, 6 heures)

Vous pouvez analyser cela avec DateTime.ParseExact-Methode (String, String, IFormatProvider, DateTimeStyles)

La chaîne de format est "yyyyMMddHHmmss.ffffffzzz"

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top