Come si converte una stringa come 2009-05-08 14:40:52,531
in un DateTime
?
Avete fondamentalmente due opzioni per questo. DateTime.Parse()
e DateTime.ParseExact()
.
Il primo è molto indulgente in termini di sintassi e analizzerà le date in molti formati diversi. È buono per l'input dell'utente che può avere diversi formati.
ParseExact vi permetterà di specificare il formato esatto della vostra stringa di date da usare per l'analisi. È bene usare questo se la vostra stringa è sempre nello stesso formato. In questo modo, puoi facilmente rilevare qualsiasi deviazione dai dati attesi.
Puoi analizzare l'input dell'utente in questo modo:
DateTime enteredDate = DateTime.Parse(enteredString);
Se hai un formato specifico per la stringa, dovresti usare l'altro metodo:
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
"d"
sta per il modello di data breve (vedi MSDN per maggiori informazioni) e null
specifica che la cultura corrente dovrebbe essere usata per analizzare la stringa.
prova questo
DateTime myDate = DateTime.Parse(dateString);
un modo migliore sarebbe questo:
DateTime myDate;
if (!DateTime.TryParse(dateString, out myDate))
{
// handle parse failure
}