cron表达了本月的最后一个周末

时间:2014-07-30 05:46:31

标签: java cron quartz-scheduler crontrigger

我有一份工作要在本月的最后一个周末运行(即)如果月末有一个星期日它应该在星期日运行,如果月末结束或者星期六结束时工作应该运行周六。 我没有找到任何文档来为这种情况构建一个cron表达式。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以在星期几字段中使用L

0 0 0 ? * SUNL

每个月的每个SUN都会触发,例如

Sunday, August 31, 2014 12:00 AM
Sunday, September 28, 2014 12:00 AM
Sunday, October 26, 2014 12:00 AM
Sunday, November 30, 2014 12:00 AM
Sunday, December 28, 2014 12:00 AM

我没有看到指定一个月的最后一个周末的方法,因为石英不允许将L字符与一周中的几天组合。因此,您无法执行SATL,SUNL之类的操作。如果你想在每个SAT和SUN上触发一些东西,我会定义2个cron表达式。

来自quartz documentation(特殊字符)

L ("last") - .....
for example "6L" means "the last friday of the month". 

我用我的cron表达式视图测试了它 - 我为eclipse编写的插件 https://github.com/link-intersystems/eclipse-plugins-repository。也许它对你有用,