Convertir una cadena a DateTime

Resuelto asked hace 15 años • 0 respuestas

¿Cómo se convierte una cadena como 2009-05-08 14:40:52,531en a DateTime?

 avatar May 28 '09 12:05
Aceptado

Dado que está manejando una hora basada en 24 horas y tiene una coma separando la fracción de segundos, le recomiendo que especifique un formato personalizado:

DateTime myDate = DateTime.ParseExact("2009-05-08 14:40:52,531", "yyyy-MM-dd HH:mm:ss,fff",
                                       System.Globalization.CultureInfo.InvariantCulture);
Christian C. Salvadó avatar May 28 '2009 05:05 Christian C. Salvadó

Tienes básicamente dos opciones para esto. DateTime.Parse()y DateTime.ParseExact().

El primero es muy indulgente en términos de sintaxis y analizará fechas en muchos formatos diferentes. Es bueno para la entrada del usuario que puede venir en diferentes formatos.

ParseExact le permitirá especificar el formato exacto de su cadena de fecha para usar en el análisis. Es bueno usar esto si su cadena siempre tiene el mismo formato. De esta manera podrá detectar fácilmente cualquier desviación de los datos esperados.

Puede analizar la entrada del usuario de esta manera:

DateTime enteredDate = DateTime.Parse(enteredString);

Si tienes un formato específico para la cadena, debes usar el otro método:

DateTime loadedDate = DateTime.ParseExact(loadedString, "d", null);

"d"representa el patrón de fecha corta (consulte MSDN para obtener más información ) y nullespecifica que se debe utilizar la cultura actual para analizar la cadena.

Sander avatar May 28 '2009 05:05 Sander

prueba esto

DateTime myDate = DateTime.Parse(dateString);

una mejor manera sería esta:

DateTime myDate;
if (!DateTime.TryParse(dateString, out myDate))
{
    // handle parse failure
}
gehsekky avatar May 28 '2009 05:05 gehsekky

Usar DateTime.Parse(string):

DateTime dateTime = DateTime.Parse(dateTimeStr);
Amir Touitou avatar Nov 21 '2016 09:11 Amir Touitou