Java 获取未来7天日期及星期排序方法
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中的数据将按照日期的顺序进行排序。
原文地址: https://www.cveoy.top/t/topic/o3L2 著作权归作者所有。请勿转载和采集!