2010-09-13 6 views
3

J'essaie de créer un code qui appelle l'heure du système et la met à jour toutes les minutes. Quelqu'un peut-il me donner un exemple qui me guidera dans la bonne direction? grâceCode temporel en Java

+1

Date = maintenant new Date() va obtenir le temps du système :) – willcodejavaforfood

+2

Met à jour le temps du système, ou une minuterie interne au logiciel? – aperkins

+2

Le système d'exploitation prend-il soin de cela? Je ne pense pas que vous devriez visser avec le temps du système comme ça. – Alfred

Répondre

5

Je pense que vous êtes à la recherche d'un Timer. Il peut planifier une tâche telle que la mise à jour de n'importe quoi chaque minute.


public class MyScheduledTask extends TimerTask{ 
    public void run(){ 
     System.out.println("Message printed every minute"); 
    } 
} 

public class Main{ 
    public static void main(String... args){ 
     Timer timer = new Timer(); 
     timer.schedule(new MyScheduledTask(), 0, 60*1000); 
     //Do something that takes time 
    } 
} 

Pour l'heure du système actuel, vous pouvez utiliser System.currentTimeMillis().


Ressources:

+0

je vois que je aurais besoin d'une minuterie, mais ne je besoin d'un compteur aussi pour que le temps de mettre à jour toutes les minutes –

+0

le timer.schedule lui-même compte, l'argument '60 * 1000' dit qu'il appellera la méthode 'run()' de MyScheduledTask' toutes les 60 * 1000 millisecondes. –

+0

ceci est mon code pour la plupart: –

1

Si vous cherchez seulement à créer une minuterie, vous pouvez créer un thread pour exécuter chaque seconde dans une boucle infinie

public class SystemTime extends Thread { 

    @Override 
    public void run(){ 
     while (true){ 
      String time = new SimpleDateFormat("HH:MM:ss").format(Calendar.getInstance().getTime()); 

      System.out.println(time); 
      try{ 
       Thread.sleep(1000); 
      } catch (InterruptedException ie){ 
       return; 
      } 
     } 
    } 
}