我想从一个以yyyyMM
格式表示的日期数组中找出最大的日期。例如,假设我的日期列表如下:
["202210", "202211", "202212", "202301"]
那么正确的值应该是202301
我尝试使用SimpleDateFormat
类解析日期并找到最大日期,像这样:
List<String> dates = Arrays.asList("202210", "202211" ,"202212", "202301");
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM", Locale.getDefault());
List<Date> temp = new ArrayList<>();
try {
for (String date: dates) {
temp.add(sdf.parse(date));
}
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(Collections.max(temp)); //shows Sun Jan 01 00:00:00 GMT 2023
如何将 Sun Jan 01 00:00:00 GMT 2023
转换为 202301
?
Collections.max(dates)
。 - Bruno MarottaSimpleDateFormat
。 - MC EmperorSystem.out.println(Collections.max(temp))
会使用java.util.Date
的toString()
方法,该方法不会使用您所需的格式。 - Mark Rotteveel