1 pièce(s) jointe(s)
DateTime.Parse / String was not recognized as a valid DateTime
Bonjour,
cela fait quelques heures.. que je ne comprends pas pourquoi je n'arrive pas à parser une string en datetime.
J'écris un fichier csv puis je le lis.
Le premier string est bien parsé, tous les suivants me retournent une exception du type "'String '11/09/2020 16:14:09' was not recognized as a valid DateTime"
Voila mon code simplifié et le fichier de log en pj.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| [TestMethod]
public void TestParseCsv()
{
//var csvLines = new string[]
//{
// "Date;Level;Message;Stack",
// "\"14/09/2020 10:23:06\"; \"Information\"; \"message1\"; \"\"",
// "\"14/09/2020 10:23:06\"; \"Information\"; \"message2\"; \"\"",
// "\"14/09/2020 10:23:08\"; \"Information\"; \"message3\"; \"\"",
// "\"14/09/2020 10:23:09\"; \"Information\"; \"message4\"; \"\"",
//};
//avec ce qui est au dessus le DateTime.Parse fonctionne..
var csvLines = File.ReadAllLines("Log.csv");
foreach (var line in csvLines.Skip(1))//skip header;
{
var cols = line.Split(";").Select(v => v.Replace("\"", string.Empty));
var datetime = DateTime.Parse(cols.ElementAt(0));
var information = cols.ElementAt(1);
var msg = cols.ElementAt(2);
var stack = cols.ElementAt(2);
Debug.WriteLine(string.Join('\t', datetime, information, msg, stack));
}
} |
Si vous avez une idée je suis preneur.
Je me permets d'ajouter que j'ai le même comportement avec ce fichier :
Code:
1 2 3
| Date;Level;Message;Stack
"44088,45741023148";"Information";"1";""
"44088,457579155096";"Information";"2";"" |
et le code suivant :
Code:
1 2
| var oaStr = double.Parse(cols.ElementAt(0));
var date = DateTime.FromOADate(oaStr); |