获取指定月份的所有工作日(工作日为自定义的)
时间:2022-07-26
本文章向大家介绍获取指定月份的所有工作日(工作日为自定义的),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
获取指定月份的所有工作日(工作日为自定义的)
场景
在创建任务的时候,会根据工作日去批量生成,但是不同厂的工作日不是相当的,也就是我们需要根据不同的业务进行工作日的定制
时间工具类 (根据不同的需求,可以对返回结果进行对应的修改)
/**
* 获取指定月份的假日
* @param month
* @return
*/
public static Map<String,Map<String,String>> getCustomDays(String month , String workdays ){
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
Map<String,Map<String,String>> res = new HashMap<>();
// 1. 获取当前月所有的天
Integer year = Integer.parseInt(month.substring(0,4));
Integer months = Integer.parseInt(month.substring(4));
Calendar start = Calendar.getInstance();
start.set(year,months-1,1);
List<String> days = new ArrayList<>();
if(workdays.contains(",")){
days= Arrays.asList(workdays.split(","));
}else{
days.add(workdays);
}
Map<String,String> outHoliday = new HashMap<>();
List<String> workDay = new ArrayList<>();
while (start.get(Calendar.MONTH) < months){
Date date = start.getTime();
String currSun = dateFm.format(date);
days.forEach(e -> {
if(e.equals(currSun)) {
workDay.add(sdf.format(start.getTime().clone()));
outHoliday.put(sdf.format(start.getTime().clone()),"0");
}
});
start.add(Calendar.DATE,1);
}
res.put(month,outHoliday);
return res;
}
测试
public static void main(String[] args) {
getCustomDays("202007","星期一,星期二,星期三");
}
- redis 学习笔记(4)-HA高可用方案Sentinel配置
- oracle: job使用
- velocity模板引擎学习(2)-velocity tools 2.0
- java:如何用代码控制H2 Database启动
- 游戏开发完整学习路线(各个版本都有)
- spring mvc4:异常处理
- TCP/IP, WebSocket 和 MQTT
- struts2: 玩转 rest-plugin
- 设置系统环境变量立即生效的VBS脚本
- velocity模板引擎学习(1)
- mybatis 3.x 缓存Cache的使用
- XStream、JAXB 日期(Date)、数字(Number)格式化输出xml
- mac: vmware fusion中cent os启动假死的解决办法
- java:hibernate + oracle之坑爹的clob
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 求X值问题
- python-剑指offer21-40
- Java8实战--引入流
- ThingJS数据对接方法介绍——Ajax
- python-剑指offer41-62
- 【python-opencv】读取、显示、写入图像
- WSL——windows上的linux子系统
- 【python-opencv】读取、显示、保存视频
- 超级账本——Hyperledger Fabric
- 【python-opencv】绘图(目标检测框及其置信度等)
- 哈希表:哈希值太大了,还是得用set
- 哈希表:今天你快乐了么?
- 简单二分法查找(binary search)
- 【python-opencv】鼠标作为画笔
- npm 依赖管理中被忽略的那些细节