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 :

Date fuseau horaire étendu


Sujet :

Collection et Stream Java

  1. #1
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut Date fuseau horaire étendu
    Bonjour,

    J'aimerai gérer des dates comportant un fuseau horaire étendu :
    Extrait de wikipédia
    :
    # zzzzz représente le fuseau horaire dans le format de base (Z ou +hhmi ou −hhmi).
    # zzzzzz représente le fuseau horaire dans le format étendu (Z ou +hh:mi ou −hh:mi).
    Toutefois, le Z en java me donne le fuseau horaire sous la forme suivante :
    +hhmi ou −hhmi
    et je voudrai :
    +hh:mi ou −hh:mi

    Voila les tests que j'ai fait :
    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		Date date = new Date();
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z");
    		System.out.println("Date : Z : " + sdf.format(date));
    		sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss z");
    		System.out.println("Date : z : " + sdf.format(date));
    		sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss zzzzzz");
    		System.out.println("Date : zzzzzz : " + sdf.format(date));

    Résultat obtenu :
    Date : Z : 2009-04-29T16:58:01 +0200
    Date : z : 2009-04-29T16:58:01 CEST
    Date : zzzzzz : 2009-04-29T16:58:01 Heure d'été d'Europe centrale
    Si quelqu'un a une idée ?

    Merci,

    SrK

  2. #2
    Membre confirmé
    Avatar de drieu13
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 131
    Points : 469
    Points
    469
    Par défaut
    Bonjour,

    Il est possible de récupérer le TimeZone() comme ceci :
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z");
    TimeZone tz = sdf.getTimeZone();

    Hors dans l'API, pour la classe TimeZone le format retourné semble être celui que tu veux :
    " When creating a TimeZone, the specified custom time zone ID is normalized in the following syntax:
    NormalizedCustomID:
    GMT Sign TwoDigitHours : Minutes
    Sign: one of
    + -
    TwoDigitHours:
    Digit Digit
    Minutes:
    Digit Digit
    Digit: one of
    0 1 2 3 4 5 6 7 8 9
    For example, TimeZone.getTimeZone("GMT-8").getID() returns "GMT-08:00".
    "

  3. #3
    SrK
    SrK est déconnecté
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 213
    Points : 83
    Points
    83
    Par défaut
    J'ai testé un peu le timezone, mais ca ne marche pas.

    De ce que j'ai compris TimeZone permet de créer sa propre timezone si elle n'existe pas dans la liste donnée intialement.

    Or moi, j'ai une timezone existant, je veux juste la formater dans une string.

    Pour l'instant je fais ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    String myDate = sdf.format(date);
    String beginDate = myDate.substring(0, 22);
    String endDate = myDate.substring(22);
     
    myDate  = beginDate+":"+endDate;
    C'est donc solutionné, mais je pense qu'il doit bien y avoir une manière plus élégante ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/10/2008, 08h34
  2. Réponses: 1
    Dernier message: 29/10/2007, 13h43
  3. Réponses: 1
    Dernier message: 09/01/2007, 16h33
  4. [Dates] Changer le fuseau horaire
    Par nanomag dans le forum Langage
    Réponses: 1
    Dernier message: 12/07/2006, 15h34
  5. Date - fuseau horaire
    Par sparton dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 11/01/2006, 16h46

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