时间列表转年月日的树形结构

private static void changeDateListToTreeMap(List<Date> dateList, Map<String, Object> map) {

        for (Date date : dateList) {

            LocalDate temp = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();

            int year = temp.getYear();

            int month = temp.getMonthValue();

            int day = temp.getDayOfMonth();

            Map<String, Object> monthMap = (Map<String, Object>) map.get(year + "");

            if (CollectionUtils.isEmpty(monthMap)) {

                monthMap = new HashMap<String, Object>();

            }

            List<Integer> dayList = (List<Integer>)monthMap.get(month + "");

            if (CollectionUtils.isEmpty(dayList)) {

                dayList = new ArrayList<Integer>();

            }

            dayList.add(day);

            monthMap.put(month + "", dayList);

            map.put(year + "", monthMap);

        }

    }

转换后格式:

"data":{"2017":{"3":[16,17,18,23], "5":[16,17,18,23]},"2018":{"12":[6,20,21,22,29]}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容