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

ASP.NET Discussion :

[C#][2.0] Conversion d'un string en DateTime


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut [C#][2.0] Conversion d'un string en DateTime
    Bonjour,

    J'ai un problème de conversion de string en datetime.
    J'utilise la chaîne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(Convert.ToDateTime(ligne[0]).AddYears(1).CompareTo(dt) > 0)
    {
    	return false;
    }
    else 
    {
    	return true;
    }
    ce qui me retourne l'erreur :
    La chaîne n'a pas été reconnue comme DateTime valide. Il existe un mot inconnu commençant à l'index 0.

    Or, ma chaîne ligne[0] est cohérente, elle contient "2001-01-09".

    De plus, ce code fonctionne parfaitement sur la version de framework 1.1, il fonctionne très bien en local, mais dès que je livre cette version sur mon serveur, j'ai l'erreur.
    Les données sont les mêmes dans les 3 cas (c'est la même base).

    Là, je ne sais plus quoi faire.
    Si quelqu'un a une idée, elle est bienvenue !

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Points : 1 482
    Points
    1 482
    Par défaut
    Est ce que les paramètres régionaux de l'OS sont les mêmes?
    par exemple : français et anglais
    Ingénieur Multimédia - TMM Communication

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Oui, exactement les mêmes.

    j'ai même tenté un découpage de ma chaîne en année/mois/jour puis recréer une datetime avec, ça ne marche pas plus ...

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Personne n'a d'idée ???
    je sèche toujours ...

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    ligne tu le recupères d'où?

  6. #6
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par rattlehead
    ligne tu le recupères d'où?
    je le valorise avec ce que j'ai dans ma base de données.
    c'est un tableau de string, et ligne[0] contient une date correcte (par exemple, "2009-07-09").

  7. #7
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    et avec ce code ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateTime dt;
    DateTime.TryParseExact(ligne[0].ToString(), "yyyy-MM-dd", null, DateTimeStyles.AssumeUniversal, out dt);

  8. #8
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    J'ai essayé ...

    j'ai même essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DateTime date2 = new DateTime(Convert.ToInt32(ligne[0].Substring(0, 4)), 
    Convert.ToInt32(ligne[0].Substring(5, 2)), 
    Convert.ToInt32(ligne[0].Substring(8, 2)));
    Ca ne marche toujours pas...

    (j'ai évidemment vérifié, j'ai bien des données cohérentes ...)

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    tu peux mettre le code qui te permet de récupérer ligne

  10. #10
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par rattlehead
    tu peux mettre le code qui te permet de récupérer ligne
    Je progresse petit à petit :
    alors, voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string[] ligne = new string[4];
    ligne = (string[])alCH[0];
    Effectivement, j'ai tracé ce que j'obtiens dans ligne[0], j'ai System.Byte[] alors que je devrais obtenir "2001-09-07".

    Je ne comprends toujours pas :
    - ce code marche bien en 1.1 et en local sur mon pc
    - ma base de données est correcte, et le code 1.1 fonctionne sur cette même base sans problème.

    ...

  11. #11
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    quel est le format de données de alCH[0] ??

  12. #12
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    pardon, alCH est une arraylist.

  13. #13
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    ok, mais alCH[0], c'est quoi

  14. #14
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par guitoux1
    ok, mais alCH[0], c'est quoi
    Le premier élément de mon arraylist.

    Je remplis mon arraylist au chargement de ma classe à l'aide d'une requête et du code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    while(aReader.Read())
    {
         string[] ligne = new string[4];
     
         // ensemble date/modalité/catégorie/temps partiel
         ligne[0]=aReader.GetValue(0).ToString();
         ligne[1]=aReader.GetValue(1).ToString();
         ligne[2]=aReader.GetValue(2).ToString();
         ligne[3]=aReader.GetValue(3).ToString();
         alCH.Add(ligne);
    }
    ensuite, j'utilise le code ci-dessus pour récupérer la toute première valeur.

  15. #15
    Membre habitué

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 173
    Points
    173
    Par défaut
    si tu travail avec le framework 2.0, ça ça devrait marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string maDate     = "13/05/2006";
    DateTime myDate = DateTime.Parse(maDate);

  16. #16
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Le premier élément de mon arraylist.
    Sans blague !!
    Je te demandais quel type était dans ce premier élément !! apparement c'est un string. Mais ça aurait pu être autre chose.

  17. #17
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par guitoux1
    Sans blague !!
    Je te demandais quel type était dans ce premier élément !! apparement c'est un string. Mais ça aurait pu être autre chose.

    Pardon !
    je comprends mieux ta question !
    Effectivement, c'est un string.
    Par contre, je ne comprends toujours pas pourquoi à un moment il prend le contenu comme un tableau de Byte.

  18. #18
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    dans ta BDD, c'est aussi un string (nvarchar ou autre ?)

  19. #19
    Futur Membre du Club
    Inscrit en
    Mars 2004
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 17
    Points : 6
    Points
    6
    Par défaut
    non, c'est un dateTime, que je reformate dans ma requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    aCommande.CommandText = "SELECT distinct date_format(coll_date_maj, '%Y-%m-%d'), " + 
    " coll_mod, coll_cat, coll_tp " +
    " FROM collab WHERE id =" + Id;
    Au fait, ma base c'est Mysql.

    j'utilise un reader, et ensuite ces données me servent à remplir mon arraylist. C'est le code que j'ai écrit plus tôt.

    peut-être devrais-je changer la valorisation en utilisant un reader.getDateTime ???

  20. #20
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    peut-être devrais-je changer la valorisation en utilisant un reader.getDateTime ???
    Ya de grandes chances, vu que dans ta BDD c'est un DateTime. Je connais mal MySQL, mais à mon avis la méthode date_format(coll_date_maj, '%Y-%m-%d') ne convertit pas en string mais fait juste modifier le format d'affichage de la date.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Conversion d'un string en Datetime sous VBScript
    Par ninsekh dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 26/09/2007, 20h42
  2. Conversion d'un string en Datetime
    Par ninsekh dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/08/2007, 11h22
  3. [Débutant] Conversion d'un String en Int
    Par chleuh dans le forum Langage
    Réponses: 9
    Dernier message: 30/12/2004, 13h33
  4. [C#] Conversion d'un string en byte[] et inversement
    Par david71 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/12/2004, 15h10
  5. Réponses: 2
    Dernier message: 21/06/2004, 15h55

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