Che formato è questo valore di tempo in?
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.
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"