
最近在做一个统计的相关功能,由于数据库表的设计比较特殊,其中有一个字段表示星期几。于是写了一个统计两日期之间星期一至星期日个数的功能。
入参形式可以自己设定,当然个人偏向于使用yyyyMMdd格式,这样比较方便进行for循环。
有不足之处,希望大佬指正。下面贴代码:
public static List getDayNum(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条)