2010-09-13 52 views
3

我試圖創建一個調用系統時間並每分鐘更新一次的代碼。任何人都可以給我一個例子來引導我走向正確的方向嗎?謝謝Java中的時間代碼

+1

現在的日期=新的日期()將獲得系統時間:) – willcodejavaforfood 2010-09-13 17:21:52

+2

更新系統時間或軟件的內部定時器? – aperkins 2010-09-13 17:30:08

+2

操作系統照顧這個?我不認爲你應該像這樣使用系統時間。 – Alfred 2010-09-13 18:04:45

回答

5

我認爲你正在尋找Timer。它可以安排一項任務,例如每分鐘更新一次任務。


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 
    } 
} 

對於當前系統時間,你可以使用System.currentTimeMillis()


資源:

+0

我看到我需要一個計時器,但是我不需要計數器也是爲了讓時間更新每分鐘 – 2010-09-13 19:59:01

+0

timer.schedule自己計數,'60 * 1000'參數表示它會調用'MyScheduledTask'的run()方法每60 * 1000毫秒。 – 2010-09-13 20:02:45

+0

這是我的大部分代碼: – 2010-09-13 20:07:27

1

如果你只是希望創建一個定時器,你可以創建一個線程來無限循環內第二次執行每

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; 
      } 
     } 
    } 
}