如何为特殊的日子生成Cron表达式

本文关键字:Cron 表达式 特殊的日子 | 更新日期: 2023-09-27 18:29:39

这是一个有趣的问题。我正在使用Quartz.net制作作业调度程序。CronMaker还有助于理解crontrigger表达式。但我想生成特殊的一天触发器。例如:示例1:

每15分钟运行次数:
2012年4月3日13:45(开始时间)

2012年4月3日14:00(下次运行时间)

此外示例2:

只有一个工作:03.04.2012(13:45只有一个)

如何编写EXAMPLE1和EXAMPLE2 cron表达式?

如何为特殊的日子生成Cron表达式

EXAMPLE1:每15分钟的运行时间从13:45:00开始,仅在2012年4月3日上运行

创建2个Cron表达式:

  • 运行时间:2012年4月3日13:45:00,只运行一次

0 45 13 3 APR ? 2012

  • 自2012年4月3日14:00:00以来的运行次数,每15分钟重复一次,仅在2012年3月3日运行

0 /15 14-23 3 APR ? 2012


示例2:运行时间为2012年4月3日13:45:00,并且只运行一次

0 45 13 3 APR ? 2012

示例3:运行时间:2012年4月3日13:45:00至12月12日15:45:00每15分钟

它可以分为以下触发器:

  • 对于2012年4月3日,使用示例1 中的两个触发器

  • 对于2012年4月4日-2012年11月4日,请使用

 0 /15 * 4-11 APR ? 2012
  • 对于2012年4月12日,使用以下触发器

0 /15 0-15 12 APR ? 2012

为了简单起见,我将使用CronTriggerImpl来构建这个时间表,因为它包含为cron表达式设置开始时间和结束时间的方法。

通过这种方式,我可以制作总是重复15分钟的cron表达式,并设置开始时间和结束时间,以限制此计划在定义的日期范围内执行。