记录Java代码用到的奇怪自定义工具类—1

记录Java代码用到的奇怪自定义工具类—1,第1张

记录Java代码用到的奇怪自定义工具类—1

最近在做一个统计的相关功能,由于数据库表的设计比较特殊,其中有一个字段表示星期几。于是写了一个统计两日期之间星期一至星期日个数的功能。

入参形式可以自己设定,当然个人偏向于使用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;
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5611869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存