我需要在每天早上8點和晚上8點運行一個方法,因爲這個想法與Java計時器有關。如何爲此場景設置計時器。java設定了一個計時器 - 每天早上和晚上
0
A
回答
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運行
相關問題
- 1. 從早上6點,每天運行cron作業晚上11:30
- 2. 如何在16:00每天晚上重設我的倒計時
- 3. 檢查時間是在今晚和明天早上之間
- 4. Azure WebRole計劃任務每天早上
- 5. 在Android Detect早上,晚上,晚上時間
- 6. MySQL Timediff計數時間從晚上10點到早上6點
- 7. 如何根據一天的時間打印「早上/下午/晚上」?
- 8. BroadcastReceiver(TIME_TICK)每天晚上都會死?
- 9. 移動數據從一個表到另一個每天晚上SQL服務器
- 10. 物化視圖,更新,每天晚上
- 11. 503超過限額每天早上
- 12. Android通知「每天早上好」
- 13. SQL Server:按昨天早上9點到今天晚上9點分組
- 14. 如何安排一個eclipse java程序每天晚上8點運行?
- 15. 每天早上測試數據庫
- 16. 將UnixTime轉換爲R中的日期間隔(早上,晚上,晚上等)
- 17. 每天早上10點撥打一個方法
- 18. 如何在Android上每天從早上8點運行服務到晚上8點
- 19. 每天晚上執行Spring批處理(BD SQL服務器)
- 20. 列表是每天晚上8 IIS服務器
- 21. 在晚上10點開始Python文件每天爲12小時
- 22. ScheduledExecutorService每天晚上12點執行UTC時間
- 23. 如何在每天早上9點向控制檯打印「早上好」
- 24. 在android上每天在計時器上發送通知
- 25. 每天晚上在TeamCity強制清理結帳
- 26. 如何創建調度到每天晚上12.00-硒的webdriver
- 27. 如何設置鬧鐘在每天早上8點開火
- 28. 如何設置每天早上9點通知?
- 29. RVM無法每天早上紅寶石設置爲默認
- 30. 工作場所 - 用戶每天早上自動在每天早上自動禁用