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

Langage Java Discussion :

Maintenir une horloge interne non liée au système


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut Maintenir une horloge interne non liée au système
    Bonjour,

    je cherche un moyen de créer un outil (quelque soit la méthode) qui me permette de maintenir en vie une horloge mais qui ne soit pas liée à l'heure système.

    Cette horloge est mise à jour toutes les minutes (timer) par ntp (en utilisant les api apache NTPTcpClient ou NTPUdpClient).

    Jusque là j'ai une horloge qui est valide qu'au moment de la requête ntp.

    Mais j'aimerais pouvoir l’interroger n'importe quand (.getDate()) et quelle soit "à l'heure", çàd que les secondes, minutes et tout le reste se soit incrémenté automatiquement.

    Comment feriez vous çà ?

    Merci d'avance.

  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,


    Ben utilises l'horloge système justement !!!
    En gros lorsque tu récupères ton temps via NTP, tu récupères le "timestamp" courant sur ta machine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    long timestamp = System.currentTimeMillis();
    Et dans getDate(), tu renvois la date NTP + le temps passé sur ta machine depuis la dernière mise à jours. Bref quelque chose dans ce genre là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public long getDate() {
        return this.ntp + ( System.currentTimeMillis() - timestamp );
    }
    Avec peut-être des petits conversions (je ne connais pas le format exact de l'heure NTP).


    a++

  3. #3
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Pour un projet pour lequel on ne pouvait se fier à l'heure système, nous avons utiliser une horloge monotone (Monotonic clock).
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  4. #4
    Membre éclairé Avatar de BakaOnigiri
    Inscrit en
    Avril 2002
    Messages
    366
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 366
    Par défaut
    Niquel ! merci à tous les 2.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/05/2014, 20h28
  2. Peut-on exécuter/invoquer/appeler une commande readline non liée du bash?
    Par jack-ft dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 20/10/2013, 18h29
  3. Réponses: 1
    Dernier message: 22/07/2009, 17h56
  4. etat sur une table externe non liée
    Par Eruil dans le forum IHM
    Réponses: 0
    Dernier message: 10/06/2008, 10h21
  5. Comment faire une horloge système
    Par vantoff dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/07/2006, 16h29

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