Sto tentando di analizzare il seguente String
in un oggetto DateTime
in C#:DateTime.ParseExact non funziona affatto, perché?
DateTime.ParseExact("20101108 230125", "yyyyMMdd hhmmss", null)
anche se il valore è corretto il metodo ParseExact
mi continua a dare il seguente:
stringa non è stato riconosciuto come un DateTime valido.
Qualcuno può dirmi perché e come posso analizzare la stringa precedente senza doverla fare manualmente? ParseExact
non è previsto per questo tipo di occasione?
Perché questo causa un'eccezione? Personalmente mi aspetterei di convertire 23 in 11 piuttosto che generare un'eccezione. È ParseExact che lo causa? –
@Marcus: 'ParseExact' farà ciò che dice; analizzare la stringa usando il formato * esatto * specificato. Poiché 'hh' dice di aspettarsi un valore orario di 12 ore in quella posizione,' 23' rientra chiaramente nell'intervallo di valori accettabili. Analizza la stringa esatta, non vengono effettuate conversioni. Quindi sì, l'eccezione è generata dal metodo 'ParseExact'. –
Applausi per la spiegazione estesa. :) –