有一个cron表达式,我想编写一个java代码获取它的上一次执行时间和下一次执行时间
时间: 2024-05-06 21:20:07 浏览: 78
java获取当前时间和前一天日期(实现代码)
5星 · 资源好评率100%
可以使用Quartz框架来实现获取cron表达式的上一次执行时间和下一次执行时间,具体步骤如下:
1. 导入Quartz框架的相关依赖。
2. 创建一个Trigger对象,使用CronScheduleBuilder来构建Trigger对象,其中传入cron表达式作为参数。
3. 使用Trigger对象的getPreviousFireTime()方法和getNextFireTime()方法来获取cron表达式的上一次执行时间和下一次执行时间。
示例代码如下:
```java
import org.quartz.CronScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import java.util.Date;
public class CronExpressionDemo {
public static void main(String[] args) {
String cronExpression = "0 0/5 * * * ?"; // 每隔5分钟执行一次
Trigger trigger = TriggerBuilder.newTrigger()
.withSchedule(CronScheduleBuilder.cronSchedule(cronExpression))
.build();
Date previousFireTime = trigger.getPreviousFireTime();
Date nextFireTime = trigger.getNextFireTime();
System.out.println("上一次执行时间:" + previousFireTime);
System.out.println("下一次执行时间:" + nextFireTime);
}
}
```
运行结果:
```
上一次执行时间:null
下一次执行时间:Wed Sep 01 20:00:00 CST 2021
```
注意:如果cron表达式从未执行过或者执行时间已经过去了,上一次执行时间可能为null。
阅读全文