我需要找出由给定的cron表达式表示的第一次出现的日期和时间。 是否有任何java类,实用程序代码可以帮助从给定的cron表达式获取数据对象?
答案 0 :(得分:16)
您可以查看org.quartz.CronExpression 它有一个名为getNextValidTimeAfter的方法,您可以使用它。
答案 1 :(得分:10)
您还可以利用spring http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/scheduling/support/CronSequenceGenerator.html来实现此目标
CronSequenceGenerator generator = new CronSequenceGenerator(cronExpression);
Date nextRunDate= generator.next(new Date());
答案 2 :(得分:8)
如果你使用Spring,你可以使用:
CronTrigger trigger = new CronTrigger(cron);
TriggerContext context = new TriggerContext() {
public Date lastScheduledExecutionTime() {
return null;
}
public Date lastActualExecutionTime() {
return null;
}
public Date lastCompletionTime() {
return null;
}
};
return trigger.nextExecutionTime(context);
答案 3 :(得分:3)
看起来你可以使用以下任何一种: