最近在做一个统计的相关功能,由于数据库表的设计比较特殊,其中有一个字段表示星期几。于是写了一个统计两日期之间星期一至星期日个数的功能。
入参形式可以自己设定,当然个人偏向于使用yyyyMMdd格式,这样比较方便进行for循环。
有不足之处,希望大佬指正。下面贴代码:
public static ListgetDayNum(int startdate, int enddate) { //下标0-6 对应星期一至星期日 List list = new ArrayList<>(List.of(0, 0, 0, 0, 0, 0, 0)); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Calendar cal = Calendar.getInstance(); for (int i = startdate; i <= enddate; i++) { try { cal.setTime(sdf.parse(i + "")); } catch (ParseException e) { e.printStackTrace(); } int day = cal.get(Calendar.DAY_OF_WEEK); switch (day) { case 2: list.set(0, list.get(0) + 1); break; case 3: list.set(1, list.get(1) + 1); break; case 4: list.set(2, list.get(2) + 1); break; case 5: list.set(3, list.get(3) + 1); break; case 6: list.set(4, list.get(4) + 1); break; case 7: list.set(5, list.get(5) + 1); break; case 1: list.set(6, list.get(6) + 1); break; } } return list; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)