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 :

[Débutant] Problème de conversion en millisecondes


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 31
    Par défaut [Débutant] Problème de conversion en millisecondes
    Bonjour à tous, c'est la plus douée de toutes les programmeuses qui est de retour !

    J'ai un tout petit problème mais qui fait tout planter (en général, ça se passe toujours comme ça...).

    J'ai une heure de type Time dans ma base de données que je vais récupérer. Dans ma table, je l'ai appelée offset.

    J'y accède par la commande : tache.getOffset();

    Si je demande l'affichage de cette heure et que je regarde sur la console, pour 3h, il s'affiche :
    03:00:00

    Jusque là c'est normal. Mais quand je tente de convertir cette date en millisecondes, avec la commande : tache.getOffset().getTime();
    je peux lire sur la console le nombre
    7200000
    alors que 3h, en millisecondes, c'est 10800000....

    Je ne comprends pas cette différence. Sauriez vous m'aider à trouver ce qui cloche ? Merci beaucoup d'avance !

  2. #2
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    A priori, ça ressemble fort à un problème de décalage horaire de 1H : voir si tu as le même fuseau horaire (en +/- par rapport à GMT) entre ta base de données et ta JVM ?!...

  3. #3
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 31
    Par défaut
    D'accord, mais je ne comprends toujours pas pourquoi il m'affiche l'heure correcte quand elle n'est que récupérée en base...et qu'à partir du moment où je fais un traitement dessus (comme pour la conversion en millisecondes) j'obtiens ce décalage assez étrange !

  4. #4
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Précision : en Java une "Date" (ou un "Time") est toujours défini par le nombre de ms depuis le 1e janvier 1970 à minuit GMT, par contre son affichage sous forme de texte dépend du fuseau horaire de la JVM d'exécution.

  5. #5
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 31
    Par défaut
    Très bien, alors je vais faire ma lourde mais comment puis-je vérifier l'heure par défaut de ma JVM ?
    Ou bien comment ajouter une heure de plus, sans toucher à ce qui est en base ? Parce que j'ai beau faire +3600, j'obtiens une chaine concaténée du genre 72000003600...

  6. #6
    Membre émérite Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Par défaut
    Citation Envoyé par pinggu
    Très bien, alors je vais faire ma lourde mais comment puis-je vérifier l'heure par défaut de ma JVM ?
    Ou bien comment ajouter une heure de plus, sans toucher à ce qui est en base ? Parce que j'ai beau faire +3600, j'obtiens une chaine concaténée du genre 72000003600...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    TimeZone zone = TimeZone.getDefault();
    System.out.println(zone); // complet
    System.out.println(zone.getDisplayName()); // compréhensible
    System.out.println(zone.getRawOffset()); // declage horaire
    System.out.println(zone.getDSTSavings()); // à voir
    System.out.println(zone.getID()); // résumé
    LE TEMPS EN JAVA SE MESURE EN MILLISECONDES

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/09/2007, 19h23
  2. [Débutant] Problème : echec de conversion
    Par oceanediana dans le forum Access
    Réponses: 24
    Dernier message: 05/07/2006, 11h33
  3. [D7][Débutant] Problème conversion String <- TEdit
    Par _alex_ dans le forum Composants VCL
    Réponses: 2
    Dernier message: 16/02/2006, 22h48
  4. [Débutant] Problème de conversion
    Par PCMan dans le forum Java ME
    Réponses: 4
    Dernier message: 25/10/2005, 20h34
  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