伙计们,
我有用户安排的月度工作(使用Quartz).用户提供开始日期f或第一个要运行的作业,它可以是1-31个月的任何一天
我的问题是如何使用cron触发器安排此操作,记住并非所有月份都有31,30,29天.在这种情况下,作业应该在最接近的一个月中运行.所以,让我们说四月只有30天,所以工作必须在4月30日运行.可以使用单个cron触发器完成吗?或者它应该是触发器的组合?我尝试使用CronExpression来查看它如何处理这种情况:
CronExpression ce = new CronExpression("0 0 0 30 JAN-DEC ? *");
Date nextValidTime = ce.getNextValidTimeAfter(//**27th of February**//);
Run Code Online (Sandbox Code Playgroud)
我的nextValidTime等于3月30日,所以cron只是"跳过"2月.任何帮助将受到高度赞赏.提前致谢.