cron表达式 每个月的最后一个工作日的另一种解法
近日有个需求,要求某项定时任务在每个月的最后一个工作日执行(仅考虑周末的情况),但是没有好的cron表达式写法,最后在stackoverflow找到了思路
cron每天执行一次,然后在执行定时任务的方法加个判断
public static boolean checkLastWorkDay() {
Calendar cal1 = Calendar.getInstance();
int month = cal1.get(Calendar.MONTH) + 1;
int year = cal1.get(Calendar.YEAR);
int day = cal1.get(Calendar.DATE);
LOG.warn(year + "年" + month + "月" + day + "日");
int week = 0;
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);// 获取该月最大一天
cal.set(Calendar.DAY_OF_MONTH, lastDay);
week = cal.get(Calendar.DAY_OF_WEEK) - 1 == 0 ? 7 : cal.get(Calendar.DAY_OF_WEEK) - 1;// 获得最后一天是星期几
if (week == 7) {
lastDay = lastDay - 2;
} else if (week == 6) {
lastDay = lastDay - 1;
}
if (day == lastDay) {
LOG.warn("今天是本月的最后一个工作日");
return true;
} else {
LOG.warn("今天不是是本月的最后一个工作日");
return false;
}
}
cron表达式 每个月的最后一个工作日的另一种解法相关推荐
- cron表达式每个月最后一天
注意:比较低版本的spring不支持0 59 23 L * ?的写法,会报无法解析L符号的错误,建议改为高版本spring <!-- spring定时器 --><bean id=&q ...
- cron 表达式解读
cron 是一个已经存在了很长时间的 UNIX 工具,因此它的调度能力很强大 并得到证明.CronTrigger 类基于 cron 的调度功能. CronTrigger 使用"cron 表达 ...
- Spring定时任务(Cron表达式)
定时任务 在线Cron表达式生成器: https://cron.qqe2.com/ 一.SpringBoot自带的定时任务 解决:使用异步任务 + 定时任务来完成定时任务不阻塞的功能 定时任务 1.@ ...
- Spring Boot定时任务-cron表达式
其实cron表达式呢,其实就是一个基于字符串的,基于时间的一个定义格式,那我们就来看一下cron表达式语法的定义,cron表达式它是一个字符串的,并且在字符串当中呢,包含6个域或者7个域,然后每个域表 ...
- spring cron表达式及解析过程
1.cron表达式 cron表达式是用来配置spring定时任务执行时间的字符串,由5个空格分隔成的6个域构成,格式如下: {秒} {分} {时} {日} {月} {周} 每一个域的含义解释 ...
- spring定时任务cron为每季度第一个工作日转换为cron表达式
最近系统有个需求,执行一个定时任务发送待办事项,一年有六次,分别为每季度第一个工作日.第二季度和第四季度结束后的第十个工作日,可头疼坏了 还好我们系统有个工作日表,于是思路就是先查询出每季度的第一天, ...
- quartz 每月一次_quartz cron表达式 启动时先执行一次 以后每个月执行一次
"0 0 0 1* ?" 每月第一日0时执行 --------------------------------------------- 字段 允许值 允许的特殊字符 秒 0-59 ...
- quartz 每月一次_quartz cron表达式:启动时先执行一次 以后每个月执行一次,怎么做?...
2017-12-02 回答 "0 0 0 1* ?" 每月第一日0时执行 --------------------------------------------- 字段 允许值 ...
- 定时任务 Cron表达式
Cron表达式是一个表示时间周期的字符串. 分为6或7个域,每一个域代表一个含义. 验证工具: http://cron.qqe2.com/ Cron有如下两种语法格式: 格式1: 秒 分 时 天(月) ...
- 作业调度框架 Quartz 学习笔记(三) -- Cron表达式
2019独角兽企业重金招聘Python工程师标准>>> 前面两篇说的是简单的触发器(SimpleTrigger) , SimpleTrigger 只能处理简单的事件出发,如果想灵活的 ...
最新文章
- hosts文件连接服务器失败,ssh连接远程服务器出现Host key验证失败的解决方案
- 【PHPMailer】写一封邮件
- id随机选择另一张表格的 sql_表格问答1:简介
- 面试准备每日五题:C++(四)——typedefdefine、指针常量、队列栈、地址赋值、C和C++结构体
- 【Dairy】2016.10.30 BirthdayParty
- Linux 信号详解五(信号阻塞,信号未决)
- 辽宁电信TY12008-Z_智能机顶盒2.0_S905MB_线刷固件包
- [算法]详解关键路径算法
- 质数/素数 - 合数
- 【产品】 产品设计:ID设计和MD设计详解
- java里的哈希值。
- 【大学物理·早期量子论和量子力学基础】一维定态薛定谔方程的应用
- 为什么变形兄弟只有四人拿到bilibili百大UP主?【B站数据分析】
- php 邮箱服务,laravel邮箱服务使用
- 如何才能做好短线交易?这三点你要知道!
- hualinux 编程概念 3.11 快速原型模型:以最快最小代价完成产品特性
- Machine Learning Basics(2)
- matlab查看hdf5数据,Matlab 操作 HDF5文件
- 关于CStdioFile
- 电脑A和电脑B建立通信,这就是网络。IO、中断、缓冲区这都不是研究网络时该关心的事