parsear - C#DateTime.ParseExact
datetime.parseexact yyyymmdd (4)
Tengo un archivo delimitado por tabuladores que se analiza y luego se inserta en una base de datos. Cuando me encuentro con la columna de fecha, tengo problemas para analizarla.
El código que tengo es:
var insert = DateTime.ParseExact(line[i], "d/M/yyyy h:mm", CultureInfo.InvariantCulture);
La cadena en la line[i]
está en el formato 7/7/2011 10:48
La excepción que recibo dice
El DateTime representado por la cadena no es compatible con el calendario System.Globalization.GregorianCalendar.
Esto se debe a que tiene la fecha en formato americano en la line[i]
y el formato del Reino Unido en FormatString
.
11/20/2011
M / d/yyyy
Supongo que es posible que deba cambiar FormatString a:
"M/d/yyyy h:mm"
Probablemente sea el mismo problema con las culturas que se presentan en este hilo SO relacionado: ¿Por qué no puede DateTime.ParseExact () analizar "9/1/2009" con "M / d / aaaa"?
Ya has especificado la cultura, así que intenta escapar de las barras.
Su cadena de formato es incorrecta. Cambiarlo a
insert = DateTime.ParseExact(line[i], "M/d/yyyy hh:mm", CultureInfo.InvariantCulture);
prueba esto
var insert = DateTime.ParseExact(line[i], "M/d/yyyy h:mm", CultureInfo.InvariantCulture);