J'ai un fichier délimité par des tabulations qui est analysé puis inséré dans une base de données. Lorsque je rencontre la colonne de date, j'ai du mal à l’analyser.
Le code que j'ai est:
var insert = DateTime.ParseExact(line[i], "d/M/yyyy h:mm", CultureInfo.InvariantCulture);
La chaîne dans line[i]
est au format 7/7/2011 10:48
L'exception que je reçois dit
La date/heure représentée par la chaîne n'est pas prise en charge dans calendar System.Globalization.GregorianCalendar.
Votre chaîne de format est incorrecte. Le changer en
insert = DateTime.ParseExact(line[i], "M/d/yyyy hh:mm", CultureInfo.InvariantCulture);
C'est parce que vous avez la date au format américain en line[i]
et format UK dans le FormatString
.
11/20/2011
M / d/yyyy
Je suppose que vous devrez peut-être changer le FormatString en:
"M/d/yyyy h:mm"
C'est probablement le même problème avec les cultures que celui présenté dans ce SO-thread lié: Pourquoi ne peut-on pas analyser DateTime.ParseExact () "9/1/2009" avec "M/j/aaaa"
Vous avez déjà spécifié la culture, essayez donc d'échapper aux barres obliques.
essaye ça
var insert = DateTime.ParseExact(line[i], "M/d/yyyy h:mm", CultureInfo.InvariantCulture);