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 :

Decalage horaire et Calendar


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de aelmalki
    Inscrit en
    Mars 2009
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 250
    Par défaut Decalage horaire et Calendar
    Bonjour,

    Je me trouve dans une situation que je n'arrive pas a comprendre.
    J'ai une application avec un Thread qui se lance chaque jour à mi-nuit(00:00), j'utilise un java.util.Timer pour qu'il se déclenche à cet heure ci, et j'initialise une date de lancement comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private Timer timer;
    .
    .
    .
     
    Calendar lancementTime= Calendar.getInstance();
     
    lancementTime.set(Calendar.HOUR_OF_DAY, 0);
    lancementTime.set(Calendar.MINUTE, 0);
    lancementTime.set(Calendar.SECOND, 0);
    lancementTime.set(Calendar.MILLISECOND, 0);
     
    timer.schedule(new MonThread(), lancementTime, 86400000);
    Au changement de l'heure de Paris depuis un peu prêt 2 semaines, mon thread se lance à 01:00 au lieu de 00:00 et je ne comprend pas vraiment pourquoi !

    Est ce que vous pouvez m'expliquer pourquoi ?, ou est ce que vous pouvez me donner des pistes de recherche ?

    Merci infiniment pour votre précieuses aide et je reste disponible pour toutes autres explications.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    C'est normal : tu as configuré ton timer pour :
    - Que sa première exécution soit à minuit,
    - Qu'il lance une autre exécution toutes les 24h après la première.

    Or, quand il y a eu le changement d'heure, nous avons tous dû avancer nos horloges d'une heure.
    Cela signifie qu'une heure de ce jour-là a été éliminée : il ne contient que 23h.
    De la même manière, quand nous repasserons à l'heure d'hiver, nous aurons un jour de 25h.

    Conclusion : en t'obéissant et en se lançant toutes les 24h, ton timer s'est décalé à 1h du matin quand il est tombé sur un jour de moins de 24h.

    Solutions : pour ce genre de choses, il vaut mieux utiliser un vrai scheduler, comme Quartz.
    À défaut, il vaut mieux que chaque exécution schedule le lancement de la suivante, à l'aide d'un calendar qui calcule le prochain minuit.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé Avatar de aelmalki
    Inscrit en
    Mars 2009
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 250
    Par défaut
    Merci beaucoup pour votre retour,

    Je pense que lorsqu'on enlèvera une heure de nos horloges, mon Thread ce lancera à 00:00 comme avant, c'est bien cela ?

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Tout-à-fait.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éclairé Avatar de aelmalki
    Inscrit en
    Mars 2009
    Messages
    250
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 250
    Par défaut
    Merci beaucoup.

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

Discussions similaires

  1. Problème de décalage horaire avec un Calendar
    Par flexx dans le forum Général Java
    Réponses: 7
    Dernier message: 12/12/2011, 12h49
  2. Gestion des decalages horaires en Java
    Par otam_otam dans le forum Langage
    Réponses: 1
    Dernier message: 09/11/2010, 19h22
  3. rsyslog/syslog-ng decalage horaire
    Par ikuzar dans le forum Debian
    Réponses: 4
    Dernier message: 05/08/2010, 16h07
  4. syslog et decalage horaire
    Par ikuzar dans le forum Administration système
    Réponses: 1
    Dernier message: 04/08/2010, 18h08
  5. Réponses: 5
    Dernier message: 18/02/2004, 17h51

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