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 :

Petit problème de conversion


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut Petit problème de conversion
    Bonjour à tous,

    Alors je vous expose mon problème. J'enregistre dans ma base de données la date sous forme de timestamp mais dans une colonne de type Bigint (me demander pas pourquoi c'est une habitude que j'ai pris quand je programmais en PHP avec la fonction mktime ).

    Donc mon code est de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //--- Récupération de la date sous forme de Timestamp
    Date time = new Date();
    Datebdd = time.getTime();
    Ensuite je fais une requête ca enregistre bien il n'y a pas de souçi.

    Le problème vient quand je veux récupérer et surtout afficher ce qui est enregistré dans la base.
    J'ai fait cela mais cela ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //--- Déclaration du formatage de la date
    DateFormat dateFormatter = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT, Locale.FRANCE);
     
    //--- Récupération de la date après la requête
    String date_bdd = dateFormatter.format(resultsNewCD.getLong("datebdd"));
    Mon erreur vient du fait je pense que la fonction format prend en paramètre un object de type Date mais je ne vois pas comment convertir mon bigint de ma base et donc ici dans mon code mon Long en object Date.

    J'ai essayé bêtement l'appel du constructeur Date() avec en paramètre ma valeur mais cela ne marche pas ^^.

    Donc si pouviez m'aider sur ce truc qui n'est pas bien compliquer mais qui m'énnerve (je préfère le PHP ) merci d'avance.

  2. #2
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Essaie avec SimpleDateFormat déjà pour vérifier que t'as bien la valeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Date date = new Date(resultsNewCD.getLong("datebdd"));
    SimpleDateFormat dateFormatter = new SimpleDateFormat("dd/MM/yyyy");
    System.out.println(dateFormatter.format(date));
    En regardant la javadoc, tu vois que tu peux construire la date à partir d'un long, le contructeur Date() sans paramètre te donne la date courante.

    Attention si tu n'es pas familer avec les dates en java, les calculs se font plutôt en passant par un Calendar.

    cf : http://java.developpez.com/faq/java/?page=langage_date

  3. #3
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Et quel est le problème exactement ? Parce que a part "ca marche pas" tu ne précise pas vraiment...

    a++

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut
    Et bien en fait il ne veut pas me construire la date à partir d'un long, je suis persuadé que c'est possible mais il me met cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    /usr/local/jakarta-tomcat-5.0.27/work/Catalina/localhost/~mc7/org/apache/jsp/ramillon_005fafonso/admin/cd/valider_005fcd_jsp.java:533: cannot resolve symbol
    symbol  : method format (long)
    location: class java.text.DateFormat
    						Date datetemp = dateFormatter.format(resultsNewCD.getLong("datebdd"));
    Pourtant j'ai bien inclu la classe java.text.DateFormat ainsi que java.text.SimpleDateFormat donc je ne vois pas trop là ... Vais me replonger dans la javadoc en espérant trouver.

  5. #5
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Ben la méthode format() n'accepte pas de long ! mais le constructeur de Date oui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Date date = new Date(resultsNewCD.getLong("datebdd"));
    a++

  6. #6
    Membre émérite Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Par défaut
    Une nouvelle fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dateFormatter.format(new Date(resultsNewCD.getLong("datebdd")));
    (grillé )

  7. #7
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Par défaut
    Oupsssssss admettons que je sois un gros boulet et que j'ai lu trop vite et que je n'ai pas fait appel au constructeur avec new

    En tout cas merci pour vos réponses rapides ca marche nikel ^^.

    Je vais de ce pas cocher le pitit bouton "Résolu" et encore merci.

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

Discussions similaires

  1. Petit problème de conversion EBCDIC -> ASCII
    Par alex140025 dans le forum Langage
    Réponses: 4
    Dernier message: 29/07/2011, 10h08
  2. Problème de conversion 3DS->.X
    Par JBernn dans le forum DirectX
    Réponses: 5
    Dernier message: 08/04/2004, 19h08
  3. Problème de conversion unicode
    Par djmalo dans le forum C
    Réponses: 5
    Dernier message: 09/03/2004, 11h48
  4. [jointure] Petit problème sur le type de jointure...
    Par SteelBox dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/02/2004, 18h55
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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