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

Windows Forms Discussion :

[C# 2.0] Conversion string en DateTime


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut [C# 2.0] Conversion string en DateTime
    Je voudrais convertir une chaine représentant une date au format YYYYMMDD (ie 20060607) en DateTime en utilisant la méthode DateTime.TryParse()

    Seulement en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    string strDate = "20060607";
    DateTime maDate;
     
    if (DateTime.TryParse(strDate, out maDate))
    {
       // TODO : traitement bidon
    }
    ça ne fonctionne pas, il semble qu'il faille utiliser un IFormatProvider pour lui dire que ma string en entrée est au format YYYYMMDD, mais je ne sais pas comment faire ça.


    Quelqu'un peut-il m'aider ??

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Hum.. et en passant par Convert.ToDateTime ?

  3. #3
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Citation Envoyé par Morpheus
    Convert.ToDateTime ?

    hummm connaissais pas cette classe.. bien pratique... je passais tjs par

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Citation Envoyé par Morpheus
    Hum.. et en passant par Convert.ToDateTime ?
    Ben en fait je voudrais éviter les try {...} catch {...}
    Le principe du TryParse() est ce qu'il me faut, mais j'y connais rien en IFormater et autre UICulture machin chose

  5. #5
    Membre confirmé Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Par défaut
    de toute facon,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Convert.ToDateTime("20060607");
    n'aurait pas marché

    essaies ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime date = DateTime.ParseExact("20060607", "yyyyMMdd", null);

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    pfff c lourd.
    En SQLServer, le format universel YYYYMMDD est reconnu (normal, c'est un format universel).
    En DotNet, il n'existe pas sous cette forme. Le format universel spécifique à dotnet (cherchez l'erreur) est : YYYY-MM-DD

    Pourtant, il semble qu'il y est moyen de spécifier son propre format, mais comment ??

  7. #7
    Membre confirmé Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Par défaut
    essaies ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime date = DateTime.ParseExact("20060607", "yyyyMMdd", null);

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par guitoux1
    Ben en fait je voudrais éviter les try {...} catch {...}
    Pourquoi ? Plus tu écris de code (propre en plus), moins tu es payé ?

  9. #9
    Membre confirmé Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Par défaut
    Citation Envoyé par Morpheus
    Pourquoi ? Plus tu écris de code (propre en plus), moins tu es payé ?
    en géneral, plus le code est court et plus il est clair et donc plus facilement maintenable

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Citation Envoyé par meli0207
    en géneral, plus le code est court et plus il est clair et donc plus facilement maintenable
    C'est vrai, mais c'est surtout que mon string en entrée ("20060706") provient dune source "instable" et je ne suis pas sûr que la date y soit correctement formée. En plus, j'ai tout un tas de conversion string --> DateTime à faire, donc le TryParse me permet d'affecter une valeur par défaut si le parsing échoue, sans avoir à faire une gestion d'erreur.

    De plus, autant profiter des méthodes du Framework, ça évite les risques d'erreurs à la con.

  11. #11
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par meli0207
    en géneral, plus le code est court et plus il est clair et donc plus facilement maintenable
    Faux

    Je peux t'ecrire un code en une ligne que tu seras incapable de comprendre et ecrire le même en 4-5 lignes, mais bcp plus clair

    Donc il faut arreter de faire des economies sur le nombre de ligne et faire les choses bien

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

Discussions similaires

  1. [Date] Conversion String en Datetime
    Par m1koo dans le forum Langage
    Réponses: 5
    Dernier message: 23/05/2013, 14h33
  2. 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
  3. Conversion d'un string en Datetime
    Par ninsekh dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 22/08/2007, 11h22
  4. [VB.net] Conversion String en DateTime
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 2
    Dernier message: 17/11/2006, 14h07
  5. [C#][2.0] Conversion d'un string en DateTime
    Par aphykite dans le forum ASP.NET
    Réponses: 23
    Dernier message: 19/06/2006, 15h59

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