C'è un'API per la conversione dal formato “YYYYMMDDHHMMSS.UUUUUU-TZO” per C # DateTime?
-
06-09-2019 - |
Domanda
Esempio: "20080807144334,410187-180" (-180 significa GMT meno di tre ore di Rio de Janeiro, in questo caso.).
Questo formato stringa viene restituito quando interrogo volte la creazione di file / cambio / accesso tramite WMI (che non è totalmente di lavoro; vedi qui ). Credo che avrei potuto analizzare il modo idiota, anno estrazione, mese, ecc dalle posizioni di stringa. Ma mi piacerebbe di non reinventare la ruota. costruttori di System.DateTime non gestiscono questo formato. Devo andare avanti e farlo nel modo più idiota o c'è qualcosa di meglio?
Soluzione
Si dovrebbe essere in grado di utilizzare DateTime.ParseExact
o .TryParseExact
per conferirgli il formato specifico da utilizzare durante l'analisi.
Tuttavia, non credo che si può ottenere per leggere il fuso orario in quel formato (anche se non posso davvero capire come farlo leggere un fuso orario in qualsiasi formato).
Il resto sarebbe simile a questa:
DateTime.ParseExact("20080807144334.410187", "yyyyMMddHHmmss.ffffff", System.Globalization.CultureInfo.InvariantCulture)
Altri suggerimenti
Si dovrebbe dare un'occhiata al metodo DateTime.TryParseExact. E lascerò passare nel formato che si sta convertendo da.
http://msdn.microsoft.com/en -us / library / system.datetime.tryparseexact.aspx