6

我需要创建将:

  • 开始一个 2012 年 12 月 20 日
  • 结束日期 = 2017 年 12 月 31 日
  • 将在周日和周一每 2 周发生一次
  • 下午 5 点起火。

这个 cron 表达式有效吗?

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;

请指教。

4

1 回答 1

1

我建议您根据您的 cron 表达式进行单元测试。感谢 Van de Voorde Toni,您可以基于此代码,并使用它来验证“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);

    }
}
于 2013-01-25T11:16:44.017 回答