Java 获取未来7天日期及星期排序方法

本文介绍了使用Java代码获取未来7天日期并按照日期顺序排序的方法。

初始代码:

public static Map<String, String> getNextSevenDays() {
    Map<String, String> dates = new HashMap<>();
    Calendar calendar = Calendar.getInstance();

    // 获取当前日期
    SimpleDateFormat dateFormat = new SimpleDateFormat('M月d日');
    String currentDate = dateFormat.format(calendar.getTime());

    dates.put(currentDate, getChineseWeekDay(calendar));

    // 获取此后的7天日期
    for (int i = 0; i < 6; i++) {
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        String nextDate = dateFormat.format(calendar.getTime());
        dates.put(nextDate, getChineseWeekDay(calendar));
    }

    return dates;
}

排序问题:

上面的代码获取了未来7天的日期,但是返回的Map中的数据没有按照日期顺序排序。

解决方法:

要按照日期顺序对Map中的数据进行排序,可以使用TreeMap来代替HashMap。TreeMap会自动按照键的顺序进行排序。

修改后的代码:

public static Map<String, String> getNextSevenDays() {
    Map<String, String> dates = new TreeMap<>();
    Calendar calendar = Calendar.getInstance();

    // 获取当前日期
    SimpleDateFormat dateFormat = new SimpleDateFormat('M月d日');
    String currentDate = dateFormat.format(calendar.getTime());

    dates.put(currentDate, getChineseWeekDay(calendar));

    // 获取此后的7天日期
    for (int i = 0; i < 6; i++) {
        calendar.add(Calendar.DAY_OF_MONTH, 1);
        String nextDate = dateFormat.format(calendar.getTime());
        dates.put(nextDate, getChineseWeekDay(calendar));
    }

    return dates;
}

现在,返回的Map中的数据将按照日期的顺序进行排序。

Java 获取未来7天日期及星期排序方法

原文地址: https://www.cveoy.top/t/topic/o3L2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录