1
我如何使scheduleAtFixedRate在小時而不是ms接受參數,如下所示?該程序應定期運行1小時,即11:25:00:00,12:25:00:00等。使scheduleAtFixedRate接受小時而不是ms?
public class Kronos {
public static void main(String[] args) throws ParseException {
DateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = dateFormatter.parse("2017-02-09 11:25:00");
long hours = 1;
long msPerHour = 3600000;
long period = hours * msPerHour;
Timer timer = new Timer();
TimerTask taskNew = new TimerTask() {
@Override
public void run() {
System.out.println("ALL WORK AND NO PLAY MAKES JACK A DULL BOY");
}
};
taskNew.scheduledExecutionTime();
timer.scheduleAtFixedRate(taskNew, d, period);
}
}
起初,我認爲像TimeFormat.HOURS
,但我不知道如何實現它?
你是什麼意思「接受幾小時的爭論」?你的代碼做你想要的... – IQV
你可以使用'TimeUnit.HOURS.toMillis(小時)' –
使用'TimeUnit.HOURS.toMillis(numberOfHours)'。 –