IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

DateTime.Parse / String was not recognized as a valid DateTime


Sujet :

C#

  1. #1
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Date;Level;Message;Stack
    "44088,45741023148";"Information";"1";""
    "44088,457579155096";"Information";"2";""
    et le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var oaStr = double.Parse(cols.ElementAt(0));
                var date = DateTime.FromOADate(oaStr);
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip Log.zip (242 octets, 167 affichages)

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2010
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 479
    Par défaut
    J'ai trouvé moi même :

    Date Level Message Stack
    44088,45741 Information 1
    "44088,457579155096" Information 2


    La faute à un caractère non imprimable... fallait le voir celui là..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/08/2010, 08h48
  2. Input string was not in a correct format
    Par scubb dans le forum ASP.NET
    Réponses: 0
    Dernier message: 06/01/2010, 11h05
  3. Input string was not in a correct format
    Par Just-Soft dans le forum C#
    Réponses: 4
    Dernier message: 17/03/2009, 14h08
  4. Erreur String was not recognized as a valid DateTime.
    Par andre99 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 27/01/2009, 20h34
  5. The expression prefix 'SPUrl' was not recognized - WSS
    Par lthomas dans le forum SharePoint
    Réponses: 1
    Dernier message: 14/04/2008, 15h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo