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

Java Discussion :

Convertir UTC en date


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut Convertir UTC en date
    Bonjour à tous,

    je suis face à un problème : convertir un string utc en date. En gros l'utilisateur va taper "+01:00" ou "-12:00", et j'aimerais convertir ce string en une date (ou autre chose) pour pouvoir ensuite lui afficher l'heure (la date du jour aussi pourquoi pas) de cet UTC partulier.

    Sur le net j'ai vu pleins de code pour convertir une date utc en date locale. Mais je n'arrive pas à comprendre où ma valeur d'utc se trouve dans une date...

    En gros je veux transformer mon UTC "+12:00" en heure. Est-ce possible ? Surement pas directement... Et si oui comment ? Ou si vous avez n'importe quelle pistes, je prend !

    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Cela ne s'appelle pas un UTC mais un time offset.
    UTC désigne le fait d'avoir un time offset de "+00:00", ou pour le dire autrement, c'est le temps de référence auquel s'applique le "+01:00" ou "-12:00" etc...

    Et tu ne peux donc bien sûr pas transformer un time offset en heure, sans dire à quelle heure exactement tu veux appliquer ce time offset. Si tu veux l'appliquer à "maintenant" très bien, mais il faut dire "comment afficher l'heure qu'il est dans un décalage donné par rapport à UTC ?" et non pas "comment convertir un UTC en heure ?".

    Une solution serait d'utiliser TimeZone.getTimeZone("GMT+01:00"); . Il s'occupe de parser le time offset à ta place et te le donne sous forme de TimeZone que tu peux utiliser comme tu veux dans un Calendar ou un DateFormat.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    String offset = "-12:00";
    TimeZone zone = TimeZone.getTimeZone("GMT" + offset);
     
    DateFormat dateFormat = DateFormat.getDateTimeInstance();
    dateFormat.setTimeZone(zone);
     
    Date now = new Date();
     
    System.out.println(dateFormat.format(now));
    Par contre, ça ne vérifie pas si le time offset est vraiment valide. Si tu lui donnes n'importe quoi comme "toto" au lieu de "-11:00" il ne détectera pas d'erreur et produira n'importe quoi. Si tu veux une vérification tu vas devoir la programmer toi-même.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Points : 78
    Points
    78
    Par défaut
    Merci beaucoup c'est exactement ce que je cherchais !

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

Discussions similaires

  1. convertir string en date
    Par schwinny dans le forum Access
    Réponses: 4
    Dernier message: 21/07/2006, 09h23
  2. conversion UTC to date et heure
    Par tit_oune dans le forum C++
    Réponses: 6
    Dernier message: 23/06/2006, 21h01
  3. Réponses: 4
    Dernier message: 06/06/2006, 16h18
  4. [SGBD] Convertir une donnée Date MYSQL en format Francais
    Par hillairet dans le forum Débuter
    Réponses: 4
    Dernier message: 28/09/2005, 15h06
  5. [FLASH MX2004] Convertir chaine en date
    Par stip dans le forum Flash
    Réponses: 5
    Dernier message: 20/01/2005, 17h01

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