使用 cron-utils 的特定日期的 Cron 表达式

Cron expression for specific days using cron-utils

我正在使用 cron-utils jar 生成 cron 表达式,例如:

0 0 0 ? * 1,3,7 *

每个月的每周日、周二和周六00:00:00am

如何创建 'days of week' 表达式,使其成为列表而不是只有一个值?

下面是我对上述表达式的代码:

CronDefinition definition = CronDefinitionBuilder.instanceDefinitionFor(CronType.QUARTZ);
CronBuilder cronBuilder = CronBuilder.cron(definition)
            .withYear(always())
            .withMonth(always())
            .withDoM(questionMark())
            .withHour(on(0))
            .withMinute(on(0))
            .withSecond(on(0))
            .withDoW(on(???????);

你可以使用and(),你将可以通过多天。

示例:

CronDefinition definition = CronDefinitionBuilder.instanceDefinitionFor(CronType.QUARTZ);
CronBuilder cronBuilder = CronBuilder.cron(definition)
            .withYear(always())
            .withMonth(always())
            .withDoM(questionMark())
            .withHour(on(0))
            .withMinute(on(0))
            .withSecond(on(0))
            .withDoW(on(1).and(on(3)).and(on(5)));