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

Langage Java Discussion :

[debutant]probleme de conversion de date


Sujet :

Langage Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 5
    Points
    5
    Par défaut [debutant]probleme de conversion de date
    Bonjour,

    je suis un p'tit nouveau dans l'univers java et j'ai un soucis avec des dates. J'ai cherché sur le net mais je n'ai pas trouvé mon bonheur.

    Ma question: est il possible de convertir une date au format américain au format francais?

    J'ai une base de donnée oracle 10g installé en fancais et je n'arrive pas a y insérer mes dates au format américain....

    Quelqu'un aurait il une petite idée qui ne fasse pas retaper tout mon code?

    Merci d'avance

  2. #2
    Membre régulier Avatar de BoudBoulMan
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    Sun offre une classe très utile: DateFormat

    Donc, tu créé un objet DateFormat qui te permettra de créé un objet Date en indiquant une date au format américain.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateFormat dformat = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US);
    Date date = dformat.parse("10/20/06");
    Puis tu utilises un autre DateFormat qui contient les paramètres français.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dformat = DateFormat.getDateInstance(DateFormat.SHORT, Locale.FRANCE);
    String dateFR = dformat.format(date);
    La chaîne dateFR contient ta date au format français
    Tu peux jouer sur le premier argument de getDateInstance (DateFormat.SHORT) pour modifier la sortie.

    Avec DateFormat.SHORT, tu obtiens la date "20/10/06"
    Avec DateFormat.MEDIUM, tu obtiens la date "20 oct. 2006"
    Avec DateFormat.LONG, tu obtiens la date "20 octobre 2006"

  3. #3
    Membre expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Points : 3 080
    Points
    3 080
    Par défaut
    Parce que dans ta base, les dates sont stockées au format chaines de caractères???

    Y'a un format date pour ça

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    ok merci de la piste, je vais chercher de ce coté

    par contre, d'après ce que je comprend de la méthode, je dois convertir ma date americaine en string pour la reconvertir en date francaise... J'ai pas de chaine de caractere a la base , j'ai seulement des formats date.

    En tout cas merci, je vais fouiller un peu la classe DateFormat, je dois pouvoir y trouver mon bonheur.

  5. #5
    Membre régulier Avatar de BoudBoulMan
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    Citation Envoyé par julien31009
    par contre, d'après ce que je comprend de la méthode, je dois convertir ma date americaine en string pour la reconvertir en date francaise... J'ai pas de chaine de caractere a la base , j'ai seulement des formats date.
    Que signifie des formats date?

    S'il s'agit du fait que tes dates sont enregistrées sous formes d'objets Date, tu peux les afficher sous n'importe quel format que ce soit en utilisant la deuxième partie du code que je t'ai montré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateFormat dformat = DateFormat.getDateInstance(DateFormat.SHORT, Locale.FRANCE);
    String dateFR = dformat.format(date);
    L'objet date représente la date que tu veux formatté.

    Changes le Locale.FRANCE en une autre localité selon les besoins.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    BoudBoulMan a dit:

    Que signifie des formats date? (je sais plus comment on fait les citations et j ai pas envie de chercher maintenant ...)


    je parlais de type date en fait et pas de format date qui doit pas vouloir dire grand chose dans mon cas



    sinon, merci pour l aide, je test ta mehode lundi au taf

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Grosso modo dans la base tu ne dois pas avoir un format spécifique à ta date mais juste un timestamp qui te permet de d'abstraire du format.

    Tu y accederas grace au getDate et setDate d'un PreparedStatement qui te renvoie un objet de type date (fais attention le setDate prend en paramètre un java.sql.Date et non un java.util.date)

    Le formattage de la date est dévolu à l'application tu récupère la date depuis oracle au format java.util.date (qui est père de java.sql.Date) puis fais le formattage avec un SimpleDateFormat ou un DateFormat selon ta convenance.

    La javadoc est là pour t'xpliquer les différents formats possibles

Discussions similaires

  1. Probleme de conversion String -> Date avec SimpleDateFormat.parse(String)
    Par jeanlouis_lecodeur dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 02/07/2007, 09h18
  2. Réponses: 2
    Dernier message: 16/02/2007, 21h34
  3. [MySQL] Probleme de conversion de date en format francophone
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 21/11/2006, 11h40
  4. [debutant]Probleme de requete avec date
    Par shub dans le forum Access
    Réponses: 9
    Dernier message: 12/05/2006, 10h01
  5. Probleme de conversion de dates
    Par manu00 dans le forum Langage
    Réponses: 4
    Dernier message: 29/05/2005, 00h00

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