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

时间:2012-04-02 08:18:21

标签: c# .net quartz-scheduler quartz.net cronexpression

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

每15分钟运行一次:
03.04.2012 13:45(starttime)

03.04.2012 14:00(下次运行时间)

另外 EXAMPLE2:

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

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

1 个答案:

答案 0 :(得分:4)

示例1:运行时间为每15分钟从13:45:00开始,仅在03-APR-2012上运行

创建2个Cron表达式:

  • 在03-APR-2012 13:45:00运行时间并运行一次
  

0 45 13 3 APR ? 2012

  • 自03-APR-2012 14:00:00起运行时间,每15分钟重复一次,仅在03-APR-2012上运行
  

0 /15 14-23 3 APR ? 2012


示例2:在03-APR-2012 13:45:00运行时间并运行一次

0 45 13 3 APR ? 2012

例3:运行时间从2012年4月3日13:45:00到12.04.2012 15:45:00每15分钟

可以将其泄漏到以下触发器中:

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

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

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

0 /15 0-15 12 APR ? 2012

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

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