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#] Problème de compréhension de System.Convert ET Provider


Sujet :

Windows Forms

  1. #1
    Membre du Club Avatar de papouAlain
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 127
    Points : 64
    Points
    64
    Par défaut [C#] Problème de compréhension de System.Convert ET Provider
    J'extrait une date de ma registry sous forme de int.
    j'aimerai la voir apparaitre en string sous la forme DD/MM/YYYY ou MM/DD/YYYY, en prenant donc en compte les aspects internationaux.
    ET j'avoue que je n'ai pas tout compris à la conversion.
    J'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public string DateX;
    System.IFormatProvider provider;
    RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\...\...");
    DateX=(Convert.ToString(Convert.ToDateTime(rk.GetValue("da")), provider), provider)).Substring(0,10);
    mais je bloque sur le provider, je ne sais comment l'obtenir ?

  2. #2
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Points : 4 339
    Points
    4 339
    Par défaut
    Si je comprend bien, la date est sous la forme AAAAMMJJ soit 20041118 pour aujourd'hui et tu veux 18/11/2004.

    Peut être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int maDate = 20041118;
    System.IFormatProvider format = new System.Globalization.CultureInfo("fr-FR", true);
    DateTime.ParseExact(maDate.ToString(),"yyyyMMdd",format);

  3. #3
    Membre du Club Avatar de papouAlain
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 127
    Points : 64
    Points
    64
    Par défaut
    oui, mais c'est pas tout à fait ça.
    ici tu types ton résultat en FR, moi je voudrais justement que ça suive la culture du système.

  4. #4
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Il suffit de tester la culture utilisé et faire un test ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    if(culture == "fr-FR")
    {
     
    }
     
    if(culture == "en-EN")
    {
     
    }
    mieux avec un switch() ...

    Bon pour avoir la culture du systeme c'est une autre histoire ...

  5. #5
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Pour la culture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    using System.Globalization;
     
    string culture = CultureInfo.CurrentCulture.Name;
    voila

  6. #6
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    relisant le poste je me suis aperçut que tu n'as meme pas besoin de if ..

    il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int maDate = 20041118;
    System.IFormatProvider format = new System.Globalization.CultureInfo(CultureInfo.CurrentCulture.Name, true);
    DateTime.ParseExact(maDate.ToString(),"yyyyMMdd",format);

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

Discussions similaires

  1. problème de compréhension
    Par new_wave dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/11/2005, 16h59
  2. [Débutant] problème de compréhension
    Par Sylvester dans le forum Général Java
    Réponses: 18
    Dernier message: 21/07/2005, 10h16
  3. Réponses: 5
    Dernier message: 11/04/2005, 11h21
  4. onclipevent (problème de compréhension)
    Par stephane eyskens dans le forum Flash
    Réponses: 8
    Dernier message: 24/09/2003, 16h09
  5. Problème de compréhension des ensembles
    Par Cornell dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 23h07

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