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

JSF Java Discussion :

probleme de conversion d'un timestamp en date


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut probleme de conversion d'un timestamp en date
    Bonjour,
    je récupere une date stockée dans ma bdd en timestamp via mon bean,
    et je veux l'afficher en format de Date.
    j'ai procédé ainsi, mais ca marche pas, la réponse est érronée:
    voilà le bout de code que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:outputText value="#{palpal.datePalette}" >
                                  <f:convertDateTime pattern="dd.MM.yyyy" />
                               </h:outputText>

  2. #2
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Salut,
    Citation Envoyé par mimaaaa Voir le message
    j'ai procédé ainsi, mais ca marche pas, la réponse est érronée:
    ... ça donne quoi au juste ?

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    mon timestamp est: 594822896
    et la valeur qu'il m'affiche est : 07.01.1970

  4. #4
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Oui, car c'est la date que ton timestamp représente (Wed Jan 07 22:13:42 CET 1970)

    Le problème vient pas du convertisseur, mais d'ailleurs ...

  5. #5
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    En fait, j'ai utilisé ce convertisseur online pour convertir ma date en timestamp pour enfin l'enregistrer dans ma BDD http://www.timestampconvert.com/?go2...+to+Date++++++
    comment je pourrai alors récupérer un timestamp d'une date?

  6. #6
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Le problème est que le site que tu montres considère le timestamp comme le nombre de secondes à partir 01/01/1970, tandis que les dates Java le considèrent comme le nombre de milli-secondes depuis cette date.

    Pour retrouver le timestamp d'une date donnée, tu peux utliser ce petit programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static long getTimeStamp(String dateTime){
    		DateFormat df = new SimpleDateFormat("dd/MM/yyyy kk:mm:ss");
    		try {
    			return df.parse(dateTime).getTime();
    		} catch (ParseException e) {
    			e.printStackTrace();
    			return -1;
    		}
    	}
    Exemple d'utilisation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(getTimeStamp("07/01/1970 22:13:42"));

  7. #7
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    Merci djo.mos pour votre aide,
    effectivement il fallait stocker le timestamp en millisicondes.
    et il faut penser à le stocker dans une variable double, parceque sa taille dépasse celle du int

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Obtenir la date d'un timestamp en java
    Citation Envoyé par djo.mos Voir le message
    Le problème est que le site que tu montres considère le timestamp comme le nombre de secondes à partir 01/01/1970, tandis que les dates Java le considèrent comme le nombre de milli-secondes depuis cette date.

    Pour retrouver le timestamp d'une date donnée, tu peux utliser ce petit programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public static long getTimeStamp(String dateTime){
    		DateFormat df = new SimpleDateFormat("dd/MM/yyyy kk:mm:ss");
    		try {
    			return df.parse(dateTime).getTime();
    		} catch (ParseException e) {
    			e.printStackTrace();
    			return -1;
    		}
    	}
    Exemple d'utilisation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(getTimeStamp("07/01/1970 22:13:42"));
    La réponse est très instructive. Mais répond à la question inverse, comme d'hab.
    Et si on veut la date à partir d'un timestamp ?

  9. #9
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bah je présumes créer un objet Calendar, l'initiliser au 1er Janvier 1970, et lui ajouter le timestamp en tant que nombre de secondes.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/05/2011, 15h18
  2. Conversion timestamp vers date avec oracle 9.2
    Par gaboo_bl dans le forum Oracle
    Réponses: 5
    Dernier message: 27/11/2006, 14h10
  3. Conversion timestamp en date
    Par devjcc dans le forum Langage
    Réponses: 6
    Dernier message: 21/09/2006, 15h34
  4. conversion date timestamp vers date mysql
    Par seb0026 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 13/10/2005, 19h48
  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