我知道每月最后一天是用 L 表示,例如:* * * L * ?
但每月最后两天,有没有办法用 cron 表达呢?搜索了一下没找到结果?
请大家指教。
不能分两条吗
L-1? 2L?
一共有 28/30/31 天三种情况,按月分开: https://stackoverflow.com/questions/23467466/run-first-and-last-3-days-of-the-every-month
Workaround: 设置成每天执行,然后在脚本上判断当前时间是不是这个月的最后两天。
还要考虑闰年吧。
倒数第二天 0 0 0 L-1 * ? *
分成两条,
倒数第一天:0 0 18 L * ?
倒数第二天:0 0 18 L-1 * ?
第一反应也是每天执行用脚本判断,还是别为难 crontab 比较好,
0 0 0 L-2 * ? *
https://www.freeformatter.com/cron-expression-generator-quartz.html
这么好用的工具安利一下
还不如每天执行一次,然脚本自己判断日期来做。
0 0 0 L-2 * ? *
这货就跟正则表达式一样,老是有刁民想一句代码搞定