用java写一个定时任务 每1个小时执行一次 使用结束时间和当前时间进行比较 如果当前时间大于结束时间 就显示过期
时间: 2024-03-06 14:49:42 浏览: 96
java设置session过期时间的实现方法
好的,以下是一个使用Java定时任务每1个小时执行一次的代码,并在每次执行时比较结束时间和当前时间,如果当前时间大于结束时间就显示过期:
```java
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class MyTimerTask extends TimerTask {
public void run() {
System.out.println("定时任务执行了!");
Date endDate = new Date(2021, 12, 31); // 结束时间为2021年12月31日
Date now = new Date();
if(now.after(endDate)) {
System.out.println("已过期!");
}
}
public static void main(String[] args) {
Timer timer = new Timer();
MyTimerTask task = new MyTimerTask();
// 每小时执行一次
long delay = 0;
long period = 60 * 60 * 1000;
timer.scheduleAtFixedRate(task, new Date(), period);
}
}
```
上面的代码中,我们创建了一个`MyTimerTask`类,继承了`TimerTask`类,并在其中实现了`run()`方法。在`run()`方法中,我们比较了结束时间和当前时间,如果当前时间晚于结束时间,就输出“已过期!”。然后,我们在`main()`方法中创建了一个`Timer`对象和一个`MyTimerTask`对象,并使用`scheduleAtFixedRate()`方法将定时任务添加到定时器中,使其每小时执行一次。
你可以根据实际需求修改代码中的结束时间和输出语句。
阅读全文