Java Quartz-每两周在一周中的几天和几段时间安排一次作业
我需要创造一个能:Java Quartz-每两周在一周中的几天和几段时间安排一次作业,java,jakarta-ee,cron,quartz-scheduler,Java,Jakarta Ee,Cron,Quartz Scheduler,我需要创造一个能: 从2012年12月20日开始 截止日期=2017年12月31日 将每两周在周日和周一进行一次 火警于下午五时发生 这个cron表达式有效吗 Date start = 12/20/2012; Date endDate = 12/31/2017; SimpleTrigger trigger = newTrigger() .withIdentity("trigger3", "group1") .startAt(startDate) .withSched
- 从2012年12月20日开始
- 截止日期=2017年12月31日
- 将每两周在周日和周一进行一次
- 火警于下午五时发生
Date start = 12/20/2012;
Date endDate = 12/31/2017;
SimpleTrigger trigger = newTrigger()
.withIdentity("trigger3", "group1")
.startAt(startDate)
.withSchedule(cronSchedule("* * 17 0 0/2 *,SUN,MON").build())
.endAt(endDate)
.build;
请告知。我建议您基于cron表达式进行单元测试。使用kudos to,您可以基于此代码,并使用它验证“nextValidTimeAfter”是否符合您的期望:
import java.text.ParseException;
import java.util.Date;
import org.quartz.CronExpression;
public class CronTester {
public static void main(String[] args) throws ParseException {
final String expression = "* * 17 0 0/2 *,SUN,MON";
final CronExpression cronExpression = new CronExpression(expression);
final Date nextValidDate1 = cronExpression.getNextValidTimeAfter(new Date());
final Date nextValidDate2 = cronExpression.getNextValidTimeAfter(nextValidDate1);
System.out.println(nextValidDate1);
System.out.println(nextValidDate2);
}
}
我认为**17 0 0/2*,SUN,MONTo将cron作业设置为每个周日下午5点,周一为0 17**0,1,其中0=分钟,17=小时,*=月日,*=月,0,1=周日,周一或周日,周日为0,周六为7。我想不出怎样才能每两周就做一次。我认为不能同时使用月日和星期日。那可能不是真的。你能想出这个吗?您是否使用了其他工具来实现它?此cron表达式无效。请在cronMaker.com上试用