我需要找出给定cron表达式所表示的日期和时间的第一个出现时间。 是否有任何Java类或实用程序代码可以帮助从给定的cron表达式中获取数据对象?
我需要找出给定cron表达式所表示的日期和时间的第一个出现时间。 是否有任何Java类或实用程序代码可以帮助从给定的cron表达式中获取数据对象?
您还可以利用Spring的CronSequenceGenerator来实现此功能。
CronSequenceGenerator generator = new CronSequenceGenerator(cronExpression);
Date nextRunDate= generator.next(new Date());
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);
//Get date for next execution
DateTime now = DateTime.now();
CronDefinition cronDefinition = CronDefinitionBuilder.instanceDefinitionFor(QUARTZ);
CronParser parser = new CronParser(cronDefinition);
ExecutionTime executionTime = ExecutionTime.forCron(parser.parse("* * * * * * *"));
DateTime nextExecution = executionTime.nextExecution(now));
new CronSequenceGenerator(cronExpression, your_timezone);
来指定特定的时区。 - Ram