查找XX年和第XX周的开始日期和结束日期

public static void main(String[] args) throws ParseException {
        //查找2020年第26周的开始日期和结束日期
        Map<String,Object> map=weekToDayFormate(2020, 26);
        System.out.println(map.toString());
    }
    
    // 计算year年的第week周,查询某周的起止时间
    private static Map<String,Object> weekToDayFormate(int year, int week) {
        Calendar calendar = Calendar.getInstance();
        // ①.设置该年份的开始日期:第一个月的第一天
        calendar.set(year, 0, 1);
        // ②.计算出第一周还剩几天:+2 是因为 1号算一天,并且国内周日算最后一天要再加1
        int dayOfWeek = 7 - calendar.get(Calendar.DAY_OF_WEEK) + 2;
        // ③.周数减去第一周再减去要得到的周
        week = week - 2;
        Map<String,Object> map=new HashMap<String, Object>();
        //④计算周的开始日期
        calendar.add(Calendar.DAY_OF_YEAR, week * 7 + dayOfWeek);
        map.put("sweek", new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
        //⑤计算周的结束日期
        calendar.add(Calendar.DAY_OF_YEAR, 6);
    
        map.put("eweek", new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()));
        return map;
    }
原文地址:https://www.cnblogs.com/KdeS/p/13181800.html