2013-04-11 37 views

回答

2

使用Timer類。

Calendar calendar = Calendar.getInstance(); 
    calendar.set(Calendar.HOUR_OF_DAY, 8); 
    Timer timer = new Timer(); 
    timer.schedule(new RemindTask(), calendar.getTime()); 

    class RemindTask extends TimerTask { 

     public void run() { 
     } 
    } 

在相似的線條上,您也可以爲晚上時間創建另一個計時器。另一個選擇是使用單個計時器,其中開始時間是早晨8點,間隔是12小時。

您也可以使用其他庫來調度Quartz Scheduler

1

有很多圖書館可以做你想做的事,以cron4j爲例。

1

你可以檢查的時間定期使用這樣的函數:

import java.text.SimpleDateFormat; 
import java.util.Calendar; 

public class currentTime { 

    public static void main(String[] args) { 
     Calendar cal = Calendar.getInstance(); 
     cal.getTime(); 
     SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
     System.out.println(sdf.format(cal.getTime())); 
    } 

} 

所以有一個計數器並運行它的迭代每x。

1

您可以安排TimerTask的在每個小時的頂端運行,並檢查它甚至切換到夏令時後是8日曆

long hour = 3600 * 1000; 
    new Timer().scheduleAtFixedRate(new TimerTask() { 
     public void run() { 
      if (Calendar.getInstance().get(Calendar.HOUR) == 8) { 
       // run 
      } 
     } 
    }, new Date(System.currentTimeMillis()/hour * hour), hour); 

的幫助下將在8運行

相關問題