根据日期查询这一周的所有日期


    static String geWek() {
        String startdate = "";
        String enddate = "";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try {
            date = sdf.parse("2022-02-13");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        Calendar cal = Calendar.getInstance();
        cal.clear();
        cal.setTime(date);
//        //判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了
//        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天
//        if (1 == dayWeek) {
//            cal.add(Calendar.DAY_OF_MONTH, -1);
//        }
//        // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
//        cal.setFirstDayOfWeek(Calendar.MONDAY);
        // 设置一个星期的第一天,第一天是星期日
        cal.setFirstDayOfWeek(Calendar.SUNDAY);
        // 获得当前日期是一个星期的第几天
        int day = cal.get(Calendar.DAY_OF_WEEK);
        System.out.println(day);
        // 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
        //所在周第一天
        startdate = sdf.format(cal.getTime());
        //所在周第一天+一天
        cal.add(Calendar.DATE, 1);
        String a1 = sdf.format(cal.getTime());
        //所在周第一天+一天+一天
        cal.add(Calendar.DATE, 1);
        String a2 = sdf.format(cal.getTime());
        //所在周第一天+一天+一天+一天....
        cal.add(Calendar.DATE, 1);
        String a3 = sdf.format(cal.getTime());
        cal.add(Calendar.DATE, 1);
        String a4 = sdf.format(cal.getTime());
        cal.add(Calendar.DATE, 1);
        String a5 = sdf.format(cal.getTime());
        cal.add(Calendar.DATE, 1);
        //所在周最后一天
        enddate = sdf.format(cal.getTime());
        return startdate + "," + a1 + "," + a2 + "," + a3 + "," + a4 + "," + a5 + "," + enddate;
    }

 

posted @ 2022-02-11 17:12  丶Ronnie  阅读(160)  评论(0)    收藏  举报