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 :

[SimpleDateFormat] Heure GMT


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 65
    Par défaut [SimpleDateFormat] Heure GMT
    Bonjour,

    Je manipule un GregorianCalendar que j'initialise avec la TimeZone GMT, heure, minute, seconde.

    Ensuite, un peu plus tard dans mon code, je réutilise cet objet de type GregorianCalendar et je voudrais formater ma date pour la mettre dans un JTextField. Donc j'utilise un SimpleDateFormat pour formater ma date. Je voudrais avoir en sortie : "03:02:01 GMT" mais là j'ai "04:02:01 CET". Comment faire ?

    Merci


    Ci dessous le code utilisé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	    GregorianCalendar currentTime = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
            int seconds = 1;
            int minutes = 2;
            int hour    = 3;
            currentTime.set(Calendar.HOUR_OF_DAY, hour);
            currentTime.set(Calendar.MINUTE, minutes);
            currentTime.set(Calendar.SECOND, seconds);
     
            SimpleDateFormat time_format = new SimpleDateFormat("HH:mm:ss z");
            Date date = currentTime.getTime();
            System.out.println(time_format.format(date));

  2. #2
    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,


    L'objet Date ne comporte pas la notion de TimeZone, ou plus précisement défini une date en temps universel (c'est à dire GMT).

    Et c'est lors de la 'conversion' de cette date en une chaine lisible par l'homme que le TimeZone est utilisé. Donc il faut que tu spécifies le TimeZone aussi sur ton DateFormat sinon il 'convertira' la date avec le TimeZone du système...

    Pour résumer :
    • Tu dois utiliser le TimeZone à la création de ton Calendar pour créer une date en te basant sur l'heure GMT et non pas celle du système (ce que tu faisais déjà).
    • Mais tu dois aussi utiliser le TimeZone lors de l'affichage, sinon c'est le TimeZone du système qui sera utilisé (après calcul du décalage)...


    Ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SimpleDateFormat time_format = new SimpleDateFormat("HH:mm:ss z");
    Date date = currentTime.getTime();
    System.out.println(time_format.format(date)); 
    time_format.setTimeZone(TimeZone.getTimeZone("GMT"));
    System.out.println(time_format.format(date));
    t'affichera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    04:02:01 CET
    03:02:01 GMT
    a++

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

Discussions similaires

  1. Convertir une heure GMT en heure française
    Par pouli dans le forum Langage
    Réponses: 2
    Dernier message: 20/07/2006, 09h57
  2. Décalage horaire par rapport à l'heure GMT
    Par Pasqualini dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/07/2006, 09h28
  3. Comment gérer l'heure GMT
    Par bobic dans le forum ASP
    Réponses: 10
    Dernier message: 24/04/2006, 17h12
  4. heure GMT
    Par Zebulonn dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 02/09/2005, 10h59
  5. [MsSQL 2000]Conversion heure GMT
    Par prophetky dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/08/2005, 17h27

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