首页 > 编程知识 正文

java中根据年月日计算星期几,java根据天数计算周数

时间:2023-05-05 06:43:06 阅读:225880 作者:1005

/** * 根据传入的参数,来对日期区间进行拆分,返回拆分后的日期List * @param statisticsType * @param map * @return * @throws ParseException * @author lihq 2019-6-24 * @editor * @editcont */ public List<String> doDateByStatisticsType(String statisticsType,Map<String, Object> map) throws ParseException{ List<String> listWeekOrMonth = new ArrayList<String>(); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String startDate = (String)map.get("startDate"); String endDate = (String)map.get("endDate"); Date sDate = dateFormat.parse(startDate); Calendar sCalendar = Calendar.getInstance(); sCalendar.setFirstDayOfWeek(Calendar.MONDAY); sCalendar.setTime(sDate); Date eDate = dateFormat.parse(endDate); Calendar eCalendar = Calendar.getInstance(); eCalendar.setFirstDayOfWeek(Calendar.MONDAY); eCalendar.setTime(eDate); boolean bool =true; if(statisticsType.equals("week")){ while(sCalendar.getTime().getTime()<eCalendar.getTime().getTime()){ if(bool||sCalendar.get(Calendar.DAY_OF_WEEK)==2||sCalendar.get(Calendar.DAY_OF_WEEK)==1){ listWeekOrMonth.add(dateFormat.format(sCalendar.getTime())); bool = false; } sCalendar.add(Calendar.DAY_OF_MONTH, 1); } listWeekOrMonth.add(dateFormat.format(eCalendar.getTime())); if(listWeekOrMonth.size()%2!=0){ listWeekOrMonth.add(dateFormat.format(eCalendar.getTime())); } }else{ while(sCalendar.getTime().getTime()<eCalendar.getTime().getTime()){ if(bool||sCalendar.get(Calendar.DAY_OF_MONTH)==1||sCalendar.get(Calendar.DAY_OF_MONTH)==sCalendar.getActualMaximum(Calendar.DAY_OF_MONTH)){ listWeekOrMonth.add(dateFormat.format(sCalendar.getTime())); bool = false; } sCalendar.add(Calendar.DAY_OF_MONTH, 1); } listWeekOrMonth.add(dateFormat.format(eCalendar.getTime())); if(listWeekOrMonth.size()%2!=0){ listWeekOrMonth.add(dateFormat.format(eCalendar.getTime())); } } return listWeekOrMonth; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。