Scheduled 每月最后一天晚上8点 ;关于@Scheduled cron表达式中不支持每月最后一天`L`的解决方案
2023-02-18 16:31:13 时间
在工作中,我们有时候会用定时任务。Scheduled 每月最后一天晚上8点
有两种写法:
@Scheduled(cron = "0 0 20 28–31 * ?")
public void carryOver() {
//TODO
}
这种写法,如果报错:
L不识别。
关于Spring定时任务每月最后一天 corn表达式使用L 报错 可以使用如下解决办法:
修改:第二种写法:
@Scheduled(cron = "0 59 23 28-31 * ?")
public void execute() {
final Calendar c = Calendar.getInstance();
/**
* c.get(Calendar.DATE) 当前时间
* c.getActualMaximum(Calendar.DATE) 本月最后一日
*/
if (c.get(Calendar.DATE) == c.getActualMaximum(Calendar.DATE)) {
//show your code
}
}
说明:需要在代码里面判断是否当月最后一天。
因为:首先,每月最后一天可能为(28,29,30,31)这几天只需要在这几天调度程序,在程序中判断是否为最后一天,如果是则执行需要执行的代码块
相关文章
- 一行Java代码实现游戏中交换装备
- @Validated – 接口参数校验注解
- thingsboard设备状态更新可能导致的不一致性问腿
- windows升级docker-compose
- 理解YACC中符号的优先级和结合性
- compose--修饰符Modifier
- compose--CompositionLocal、列表LazyColumn&LazyRow、约束布局ConstraintLayout
- SAP ABAP CDS view Association 引入的缘由
- OnD1操练纪要-微信朋友圈权限领域建模操练
- 贪吃蛇复现-CoCube
- 共享主机和 WordPress 主机之间的区别
- 如何在 WordPress 中嵌入 iFrame
- 第十四届蓝桥杯集训——JavaC组第八篇——进制转换
- 第十四届蓝桥杯集训——JavaC组第九篇——位运算符
- 第十四届蓝桥杯集训——JavaC组第九篇——三元运算符
- 【数据挖掘】薪酬分段对应工作经验/学历画柱状图【招聘网站的职位招聘数据预处理】
- Grafana 的介绍和安装
- SpringSecurity用户绑定到线程
- SpringSecurity权限过滤
- 汇编学习(6), 外部函数,调用约定