[英]Java Timer doesn t start after midnight
在我的代碼中,我試圖編寫一個應該每24小時觸發一次的任務。 第一次觸發應該是在安排了計時器之后,然后是早上每7點一次。 我正在使用
java.util.TimerTask
我寫了這樣的東西:
Calendar today = Calendar.getInstance();
today.set(Calendar.HOUR_OF_DAY, 7);
today.set(Calendar.MINUTE, 0);
today.set(Calendar.SECOND, 0);
timer.schedule(task1, today.getTime(), TimeUnit.MILLISECONDS.convert(24, TimeUnit.HOURS));
碰巧每次我運行我的應用程序時都會啟動該任務(如預期嗎?)...但是午夜之后,如果我運行我的應用程序,則不會觸發任務。
錯誤在哪里?
謝謝
您所提供07:00:00
當天(不次日)作為firstTime
。
因此,如果時間是早上7點以后,那么您的firstTime
是過去的時間。 也許這就是為什么立即啟動任務的原因。
如果時間是“午夜之后”(可能是早上7點之前),則firstTime
是將來的時間。 因此,您必須等待早上7點才能開始任務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.