public static void main(String[] args) {
LocalDateTime curTime = LocalDateTime.now();
long curLongTime = curTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); // 当前时间的时间戳
long afterLongTime = curTime.plusMinutes(2).toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); // 2分钟后时间戳
try {
System.out.println("执行前:" + LocalDateTime.now());
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// 写需要处理的任务
System.out.println("执行时:" + LocalDateTime.now());
System.out.println("我被执行了哦!");
}
}, afterLongTime - curLongTime);
}catch (Exception e){
e.printStackTrace();
}
}
schedule(TimerTask task, long delay) 的注释:Schedules thespecified task for execution after the specifieddelay。大意是在延时delay毫秒后执行task。并没有提到重复执行
schedule(TimerTask task, long delay, long period) 的注释:Schedulesthe specified task for repeated fixed-delay execution, beginningafter the specified delay。大意是在延时delay毫秒后重复的执行task,周期是period毫秒