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 :

Class Calendar - International


Sujet :

Collection et Stream Java

  1. #1
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut Class Calendar - International
    Bonjour,

    J'ai un objet Calendar contenant une date, à partir de la méthode getInstance(Locale) je peux convertir ma date suivant la langue que je souhaite.

    Ensuite, j'aimerai convertir mon object calendar en string du genre "jj-mm-aaaa", le format étant celui de la langue concerné.

    Comment puis-je m'y prendre.

    Merci par avance !

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    En utilisant la classe DateFormat et son contructeur prenant une locale en paramètre.(La classe Calendar permet d'obtenir un objet de type Date via la méthode getTime())
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    merci
    je vais utiliser cette classe adaptée à mon problème

  4. #4
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    Je me pose une utre question concernant l'internationalisation des dates :

    Dans mon application, je récupère donc ma date de ma base de données au format français et suivant la Locale de mon application je formate ma date au langage de l'application. Et tout cela à l'aide de DateFormat et les fonctions format et parse.

    Je prends un exemple, prenons dans ma base de données la date 21/10/2008. Mon objet Calendar est donc transformé en String par l'intermédiaire de :

    DateFormat.getDateInstance(3,Locale.French).format(monObjectCalendar.getTime());

    Cela fonctionne bien, sauf que ma date se retrouve de la forme "21/10/08". (obtenu à l'aide du paramètre 3 précisant le style du string obtenu).

    Seulement je souhaiterais qu'en Français ma date s'affiche avec 2008 et non 08.

    Je me trouve donc coincé et je subi le format imposé par la conversion avec DateFormat, n'y aurait il pas un autre moyen de procédé ?

    Merci par avance

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Regardes du coté de SimpleDateFormat qui te permet d'utiliser le format de ton choix...

    a++

    PS : Note qu'il est préférable d'utiliser les constantes plutôt que directement les valeurs numériques ( tu devrais utiliser DateFormat.SHORT à la place de 3)

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah d'avoir un fichier de properties par langue que tu charges au moyen de RessourceBundle qui contient une clef stockant le format désiré dans la langue du fichier properties et d'utiliser un SimpleDateFormat. Et si le fichier correspondant à la langue n'existe pas alors utiliser un DateFormat avec DEFAULT comme paramètre.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    ok c'est ce que j'ai vu.
    Meme mieux, avec struts, on peut définir pour un bean write, un format key qui permet de définir le format des dates à afficher.

  8. #8
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    Je cherhce également une solution pour la saisie de dates dans un formulaire. Actuellement un javascript vérifie le format de ma date avant la validation du formulaire.

    Avec l'internationalisation de l'application, le format de la date sera différent suivant la langue. Du coup cela implique chargement d'un javascript différent (ce qui est possible !!!) . Mais je préfèrerais une solution java avec struts. Serait-il possible avec struts de faire un contrôle de saisie sur la date en fonction de la langue?

Discussions similaires

  1. Est-ce moi ou il ya un gros bug dans la classe Calendar ?
    Par lafouine46 dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/05/2007, 21h31
  2. [Info]Classe anonyme - interne
    Par thibaut dans le forum Langage
    Réponses: 8
    Dernier message: 31/08/2006, 13h18
  3. Problème avec la classe Calendar
    Par afrikha dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/03/2006, 08h48
  4. Interface implémentant la classe Calendar
    Par JeanECN dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 29/03/2006, 17h37
  5. probleme avec la classe calendar
    Par fatmax dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 04/10/2005, 17h04

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