Quartz cron - 运行 在前一个日期以防不存在

Quartz cron - running on previous date in case day does not exist

我正在尝试为 quartz 调度程序编写一个 cron 表达式。

要求是如果月份中的第几天不存在(例如 30)- 作业将 运行 在最近的一天。

例如:2 月是 28 日 运行,但 11 月是 30 日。

我在这里看到了答案:quartz-cron-what-if-the-day-of-month-does-not-exist但是有没有更好的方法来执行它?

我的做法是,
运行 每个月从 28 日开始的 3 天的 CRON。
分别为 28、29、30(如果需要,闰年为 29)
并在程序中加入一个条件来确定月份是否为二月并执行相应的操作,

Cron 表达式为,

00 00 28,29,30 * * 

逻辑如下:

 if the month is Feb {
       check if Date is last date of the month
       {
          ​perform required action
       }        
 }
 else if the date is 30th of month
 {
     perform required action
 }

希望这有帮助,因为我不使用 Java 我只给出了逻辑