前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >获取指定月份的所有工作日(工作日为自定义的)

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

作者头像
java攻城狮
发布2020-10-10 16:34:53
1.3K0
发布2020-10-10 16:34:53
举报
文章被收录于专栏:个人积累个人积累

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

场景

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

时间工具类 (根据不同的需求,可以对返回结果进行对应的修改)
代码语言:javascript
复制
/**
     *  获取指定月份的假日
     * @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;
    }
测试
代码语言:javascript
复制
public static void main(String[] args) {
    getCustomDays("202007","星期一,星期二,星期三");
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 获取指定月份的所有工作日(工作日为自定义的)
    • 场景
      • 时间工具类 (根据不同的需求,可以对返回结果进行对应的修改)
        • 测试
        相关产品与服务
        腾讯云服务器利旧
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档