获取指定月份的所有工作日(工作日为自定义的)

获取指定月份的所有工作日(工作日为自定义的)

场景

在创建任务的时候,会根据工作日去批量生成,但是不同厂的工作日不是相当的,也就是我们需要根据不同的业务进行工作日的定制

时间工具类 (根据不同的需求,可以对返回结果进行对应的修改)
/**
     *  获取指定月份的假日
     * @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","星期一,星期二,星期三");
}

本文使用 mdnice 排版

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值