先获取开始时间截止时间,查询周报

今天公司遇到一个需求,通过给定的时间获取周报
获取某月开始时间截止时间,查询周报

        Date queryTiem = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();
        if(queryTiem!=null) {
            cal.setTime(queryTiem);
        }else{
            cal.setTime(new Date());
        }
        if(null == queryTiem){
            cal.add(Calendar.DATE,-7);
        }
        cal.setFirstDayOfWeek(Calendar.MONDAY);// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天
        if(dayWeek==1){
            dayWeek = 8;
        }
        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - dayWeek);// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
        Date mondayDate = cal.getTime();
        String weekBegin = sdf.format(mondayDate)+" 00:00:00";
        LOGGER.debug("所在周星期一的日期:" + weekBegin);
        cal.add(Calendar.DATE, 4 +cal.getFirstDayOfWeek());
        Date sundayDate = cal.getTime();
        String weekEnd = sdf.format(sundayDate)+" 23:59:59";
        LOGGER.debug("所在周星期日的日期:" + weekEnd);
        Map<String,Object> map = new HashMap<String,Object>(3){{
            put("star", weekBegin);
            put("end", weekEnd);
        }};

获取当月起始时间、结束时间,从而查询周报
先获取开始时间截止时间,查询周报_第1张图片

你可能感兴趣的:(java)