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 :

Convertir un string en date


Sujet :

C#

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Par défaut Convertir un string en date
    Hello,

    J'ai fais une recherche au préalable et je suis tombé sur ce topic ici qui a déjà pu me fournir une première aide.

    Par contre j'ai un problème car il me dit le message d'erreur suivant:

    String was not recognized as a valid DateTime
    Mon format est le suivant: 2010-10-31T00:00:00

    Et j'essaye d'effectuer la conversion de la manière suivante:

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime.ParseExact(item.Attribute(Program.toDosFields[3].ToString()).Value, "yyyy-MM-dd", null),

    Si quelqu'un voit ou est mon erreur

    Merci bien,

    Leelith

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Le format que tu utilises pour ParseExact ne correspond pas au format réel, donc forcément ça marche pas...

    Apparemment ta date est au format de date XML, donc tu peux utiliser XmlConvert.ToDateTime :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime laDate = XmlConvert.ToDateTime(item.Attribute(Program.toDosFields[3]).Value);

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Par défaut
    Ah bah c'est parfait ce XMLConvert

    Par contre je l'utilise avec en deuxième paramètre XmlDateTimeSerializationMode, mais même comme ça impossible de ramener la date sur un format yyyy-mm-dd...

    Est-ce qu'il y a un moyen de faire ça?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Leelith Voir le message
    mais même comme ça impossible de ramener la date sur un format yyyy-mm-dd...
    C'est-à-dire ? Tu veux retransformer le DateTime en chaine de caractères avec ce format ?

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Par défaut
    En fait je veux convertir le format de date actuel 2010-10-31T00:00:00 en format yyyy-mm-dd mais je n'y arrive pas en utilisant XmlConvert (ou alors je ne sais pas comment faire) :/

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateTime dt = XmlConvert.ToDateTime(dateAuFormatXml);
    string dateAuFormatQueTuVeux = dt.ToString("yyyy-MM-dd");

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Par défaut
    Ok, mais du coup si je fais ensuite faire un tri sur la date, ca va poser problème vu que ce'st un string non?

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Leelith Voir le message
    Ok, mais du coup si je fais ensuite faire un tri sur la date, ca va poser problème vu que ce'st un string non?
    D'une manière générale, oui, mais en l'occurrence non... C'est un des intérêts du format yyyy-MM-dd : l'ordre alphabétique (si j'ose dire) correspond à l'ordre chonologique.

    Mais si c'est juste pour l'affichage que tu veux ce format, il y a peut-être une meilleure solution... tu es sur quelle techno d'interface graphique ? Dans quel type de contrôle affiches-tu ces dates ?

  9. #9
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Par défaut
    C'est juste... faut que j'aie dormir je crois : )

    Là je suis en WinForms et c'est un DataGridView Si tu as une meilleure solution je suis preneur

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Dans ce cas tu peux laisser la date sous forme de DateTime, et simplement formater la valeur affichée dans colonne comme tu veux, avec la propriété Format :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.Columns["LaDate"].DefaultCellStyle.Format = "yyyy-MM-dd";

  11. #11
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 397
    Par défaut
    Merci bien! : )

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

Discussions similaires

  1. Convertir une string en Date
    Par bibou dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 06/05/2008, 16h42
  2. convertir une string en date
    Par Art19 dans le forum Delphi
    Réponses: 7
    Dernier message: 23/04/2007, 17h42
  3. Convertir une string en date.
    Par Empty_body dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/11/2006, 21h56
  4. [vba] convertir une string en date
    Par megapacman dans le forum Access
    Réponses: 1
    Dernier message: 11/09/2006, 15h46
  5. [Firebird] Convertir une String en date
    Par laffreuxthomas dans le forum SQL
    Réponses: 1
    Dernier message: 04/05/2005, 19h42

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