我习惯于每天早上ScheduledExecutorService
运行一项特定任务3 AM
。现在我不确定我下面的代码是否会在MyTask()
每天3 AM
早上调用?因为我不确定我的逻辑是否正确
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
Date aDate = ......// Current date or parsed date;
Calendar with = Calendar.getInstance();
with.setTime(aDate);
int hour = with.get(Calendar.HOUR);
int intDelayInHour = hour < 3 ? 3 - hour : 24 - (hour - 3);
scheduler.scheduleAtFixedRate(new MyTask(), intDilayInHour, 24, TimeUnit.HOURS);
为了测试这一点,我需要等待一天看看它是否有效,我不想这样做。
谁能帮我确定我上面的代码是否正确?