Я предлагаю вам сделать единичный тест на основе вашего выражения cron. С kudos to 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);
}
}