Como se converte uma string como 2009-05-08 14:40:52,531
em um DateTime
?
Você tem basicamente duas opções para isto. DateTime.Parse()
e DateTime.ParseExact()
.
O primeiro é muito indulgente em termos de sintaxe e analisará as datas em muitos formatos diferentes. É bom para a entrada do usuário que pode vir em diferentes formatos.
ParseExact permitirá que você especifique o formato exato da sua seqüência de datas a ser usada para a análise. É bom usar isto se a sua string estiver sempre no mesmo formato. Desta forma, você pode detectar facilmente qualquer desvio dos dados esperados.
Você pode analisar a entrada do usuário desta forma:
DateTime enteredDate = DateTime.Parse(enteredString);
Se você tiver um formato específico para a cadeia, você deve usar o outro método:
DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);
"d"
representa o padrão de datas curtas (veja MSDN para mais informações) e null
especifica que a cultura atual deve ser utilizada para analisar a string.