Domanda

Ho una domanda WMI che specifica il tempo in questo formato '20090219000000,000 mila + 480'

Qualcuno può dirmi quale formato si tratta, e non hanno alcuna .NET funzionalità built-in per lavorare con esso?

Modifica

Questo valore di tempo è da una query di esempio che ho trovato. Non so quale valore di tempo è stato utilizzato per generarlo. Ho solo bisogno di essere in grado di convertire un valore di tempo per questo formato.

Modifica 2

ho scoperto questo momento è in CIM_DATETIME formato.

È stato utile?

Soluzione

Questo appare come una stringa di data e ora standard, senza separatori:

'20090219000000,000 mila + 480'

'yyyyMMddhhmmss.ffffff + 480'

aaaa - L'anno in quattro cifre
. MM - Il mese numerico. mesi a una cifra hanno uno zero iniziale.
dd - Il giorno del mese. giorni una cifra hanno uno zero iniziale.
hh - L'ora in un orologio di 12 ore. ore a una cifra hanno uno zero iniziale. (Questo potrebbe anche essere HH, che è l'ora in un orologio di 24 ore con ore a una cifra con uno zero.)
mm - Il minuto. minuti una sola cifra hanno uno zero iniziale.
ffffff - La frazione di secondo di precisione a sei cifre.

Il "480" è più probabile un indicatore di fuso orario, anche se non è uno standard. Normalmente fusi orari sono rappresentati come ore (o ore e minuti) da UTC. Questo sembra probabilmente essere solo minuti. Come tale, non v'è alcun identificatore di formato standard.

La classe DateTime in .NET è quello che si usa per lavorare con questo valore. Tuttavia, si sarebbe probabilmente vuole prendere la parte "480" prima di parsing della stringa rimanente a una variabile reale DateTime. È quindi possibile regolare al fuso orario corretto o eseguire la conversione fuso orario (da minuti a ore / minuti) prima del tempo e cambiare il "480" per la rappresentazione fuso orario corretto e quindi passare il tutto al DateTime.Parse.

Altri suggerimenti

Come altri hanno suggerito la stringa è un esempio di DATETIME dati MOF tipo . Si tratta di una stringa di lunghezza fissa e potete trovare i dettagli circa la sua struttura qui . .NET utilizza System.Management namespace per accedere a WMI e uno dei le classi è ManagementDateTimeConverter classe che facilita il lavoro con WMI datetime valori.

Date un'occhiata a questo link . Solo guardando Io direi che è in un formato di YYYYMMDDHHMMSS. [Tutta una serie di personaggi 'F'].

Sarebbe utile se lei ci ha detto è stata data in cui è rappresentato. E 'l'inizio 2009 al suggerisce che potrebbe essere YYYYMMDDHHMMSS.FFFFFF + TZ

(F = frazione di secondi, e TZ essendo differenza da UTC in minuto, ecco, 6 ore)

È possibile analizzare questo con DateTime.ParseExact-Methode (String, String, IFormatProvider, DateTimeStyles)

La stringa di formato è "yyyyMMddHHmmss.ffffffzzz"

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top