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

Collection et Stream Java Discussion :

probleme Formatage Date Locale FRANCE


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Par défaut probleme Formatage Date Locale FRANCE
    Bonjour,

    Je rencontre un probleme sur le formatage d'une date avec la Locale FRANCE et des versions de JDK différentes.

    Voici mon code JAVA:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Date d = new Date(10,1,10);
     
    DateFormat formatter = DateFormat.getDateTimeInstance(DateFormat.DEFAULT,DateFormat.DEFAULT,Locale.FRENCH);
    String p = formatter.format(d);	
    System.out.println(p);
    En JAVA 6, le résultat est le suivant:
    10 Fév 1910 00:00:00
    En JDK 1.4, le résultat est le suivant:
    10 févr. 1910 00:00:00
    D'ou vient cette différence? Existe t'il un paramétrage particulier pour avoir un affichage indépendant du JDK?

    Avec une Locale ENGLISH, le résultat est identique.

    Merci.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Je n'ai pas ça du tout :

    Avec Java 1.6.0_17:
    10 févr. 1910 00:00:00
    Quelles sont les deux JVM/JDK que tu utilises ? L'un doit être celui de Sun ; l'autre, je ne sais pas. Dans tous les cas, la version contenant "Fév" est incorrecte car les mois ne portent pas de majuscule en français, et leur abréviation doit se terminer par un point.

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Pareil pour moi...

    Ceci dit, tu n'as qu'à utiliser SimpleDateFormat pour construire ton propre masque, tu seras sûr du résultat... encore que... à tester...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Non, cela ne changera rien : "Fév" ou "févr" sont toutes deux des notations courtes, et il n'y en a qu'une de définie par JVM. Donc, lorsque tu demanderas la mois écrit en court ("mmm" avec SimpleDateFormat), tu obtiendras les mêmes résultats.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Remarquons que Locale.FRENCH ne définit pas le pays de la locale. Ça pourrait être la France, le Canada ou n'importe quel pays francophone connu de Java. Bref, ça reste dépendant de la machine, ce qui peut faire varier les résultats.

    Quoi qu'il en soit, il est possible de spécifier les symboles à utiliser pour les mois dans un SimpleDateFormat : en lui fournissant un objet DateFormatSymbols.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Effectivement, le pays n'est pas mentionné, mais pour appuyer mes dires, je me suis basé sur le fichier FormatData_fr (et chacune des sous-locales) contenu dans la JVM de Sun.

    J'ai également regardé dans diverses versions de Java 6 que j'ai à ma disposition, et aucune différence avec la première visitée : il n'y a que "févr." qui est défini.

    Je persiste à penser que ce ne sont pas les mêmes fournisseurs.

Discussions similaires

  1. [Date] Locale vs US
    Par ludovic.fernandez dans le forum Windows
    Réponses: 2
    Dernier message: 25/05/2004, 16h17
  2. Problème de date
    Par rh0D'm@n dans le forum Modules
    Réponses: 3
    Dernier message: 11/05/2004, 15h16
  3. Probleme de date
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/03/2004, 14h19
  4. probleme de date (toujours et encore des dates)
    Par Yannesco dans le forum SQL
    Réponses: 3
    Dernier message: 02/02/2004, 19h04
  5. Probleme de date
    Par danuz dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/09/2003, 15h57

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