android安卓自动计算月份,每月更新的榜单,月份列表更新

问题:现有一个排行榜的功能,需要每月底结算当月数据进行排名。同时可查看历史月份的排行数据,需要有一个每期的时间列表。给定功能上线时间为起始时间,上一个月为结束时间,计算之前的月份列表。

 currentServiceTime:是接口返回的服务器时间,没用手机系统时间防止用户修改时间导致的错误

min.setTime(sdf.parse("2019年06月"));:即设置的起始时间。

 public static ArrayList getMonthBetween(long currentServiceTime) {

        String serviceDate = DateUtil.getDate(currentServiceTime, DateUtil.FORMAT_YYYY_MM_DD_6);

        SimpleDateFormat sdf = new SimpleDateFormat(DateUtil.FORMAT_YYYY_MM_DD_6);//格式化为年月

        Calendar min = Calendar.getInstance();
        Calendar max = Calendar.getInstance();

        try {
            min.setTime(sdf.parse("2019年06月"));
            min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);

            max.setTime(sdf.parse(serviceDate));
            max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 1);

            ArrayList result = new ArrayList<>();
            Calendar curr = min;
            while (curr.before(max)) {
                result.add(0, sdf.format(curr.getTime()));
                curr.add(Calendar.MONTH, 1);
            }
            return result;
        } catch (ParseException e) {
            e.printStackTrace();
        }

        return null;
    }

你可能感兴趣的:(开发小日记)