C'è un'API per la conversione dal formato “YYYYMMDDHHMMSS.UUUUUU-TZO” per C # DateTime?

StackOverflow https://stackoverflow.com/questions/928051

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?

È stato utile?

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

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