[英]java scheduling task with timer at specific time
我有一個數據庫,可以從中檢索顯示提醒的時間(這是我的任務)。 我將其接收到的時間放入計時器中,但它不是在此時顯示提醒,而是在當前時間顯示提醒。 問題是什么?
rs = stmt.executeQuery(sql);
while(rs.next()){
time=rs.getString ("time");
}
timer = new Timer(); // Instantiate Timer Object
timer.schedule(new Task(), timeFormat.parse(time));
例如,顯示提醒的時間是17:10:00。 但顯示在17:00:00
首先,您必須獲取currentDatetime和hinterDatetime之間的時間差bt並獲取毫秒數,然后在timer.schedule(new Task(),timediff)函數中傳遞該毫秒數。 就像下面一樣
private long ScheduleTime(String strpostDate) {
long hrs = 0;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date curDate = null;
Date postDate = null;
String curdate = formatter.format(new Date());
try {
curDate = (Date) formatter.parse(curdate);
postDate = (Date) formatter.parse(strpostDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
long diffInMs = postDate.getTime() - curDate.getTime();
return diffInMs;
}
你的職能
rs = stmt.executeQuery(sql);
while(rs.next()){
datetime=rs.getString ("time");
}
timer = new Timer(); // Instantiate Timer Object
timer.schedule(new Task(), ScheduleTime(datetime));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.