如何在特定日期在java中运行任务

时间:2014-03-11 09:42:07

标签: java oracle timer scheduled-tasks futuretask

我将来必须调用一个方法,所以我找到了一些例子 链接在那里 Link 1 link 2

但我必须只运行一次。 日期和时间:11-03-2014 10:15:20(dd-MM-yyyy HH:MM:SS)

我怎么做?

2 个答案:

答案 0 :(得分:2)

课程java.util.Timer正是您所需要的:

首先,设置要安排的任务:

TimerTask task = new TimerTask() {

  void run() {
    //do the task
  }

};

其次,安排任务:

Date futureDate = ...///whenever you want
Timer timer = new Timer();
timer.schedule(task, futureDate); 

答案 1 :(得分:1)

计算现在和目标日期之间的延迟,并以此延迟作为参数调用schedule()

Date targetDate = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").parse(dateAsString);
long delayInMillis = targetDate - System.currentTimeMillis();
scheduler.schedule(task, delayInMillis, TimeUnit.MILLISECONDS);