java - 使用日期对字符串 [] 进行排序
问题描述
我拼命尝试对带有日期的数组进行排序,例如“31.05.2019”。我目前正在尝试通过转换为日期类型然后返回来做到这一点。这也有效。我只是无法将字符串 [] 转换为日期 []。有人可以告诉我该怎么做吗?或者如果有必要,给我一个更简单的方法来排序它?不幸的是,我没有在网上找到任何合适的东西。也可能是我太笨了。
我试图手动将字符串转换为日期,它可以工作。但我尝试了不同的方法将 String[] 转换为 Date[]。我尝试了一个循环......和其他一些东西......但它不起作用......
public static void main(String[] args) throws ParseException {
TagebuchIO io = new TagebuchIO();
String[] stringio = io.getTagebuchliste();
//He got the Dates with stringio
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyy");
Date date = sdf.parse("10.05.2010");
Date date2 = sdf.parse("09.02.2012");
Date[] d = {date, date2};
Arrays.sort(d);
String ergbenis1 = sdf.format(d[0]);
System.out.println(ergbenis1);
ergbenis1 = sdf.format(d[1]);
System.out.println(ergbenis1);
}
解决方案
考虑使用LocalDate
而不是Date
:
import java.time.format.DateTimeFormatter;
import java.time.LocalDate;
import java.util.Arrays;
import java.util.stream.Stream;
class Main {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
String[] strDates = new String[] {"12.06.2019", "31.05.2019", "10.05.2010", "09.02.2012"};
LocalDate[] dates = Stream.of(strDates).map(date -> LocalDate.parse(date, formatter))
.toArray(LocalDate[]::new);
System.out.println(String.format("Unsorted dates: %s", Arrays.toString(dates)));
Arrays.sort(dates);
System.out.println(String.format("Sorted dates: %s", Arrays.toString(dates)));
System.out.println("Formatted Dates:");
for (LocalDate d : dates) {
System.out.println(formatter.format(d));
}
}
}
输出:
Unsorted dates: [2019-06-12, 2019-05-31, 2010-05-10, 2012-02-09]
Sorted dates: [2010-05-10, 2012-02-09, 2019-05-31, 2019-06-12]
Formatted Dates:
10.05.2010
09.02.2012
31.05.2019
12.06.2019
推荐阅读
- vba - 想要根据标题 -Excel VB | 将工作表 2 中突出显示的行复制到工作表 1。宏
- javascript - 如何防止后面的Vue watch触发死循环?
- python - 使用功能打开某条路线后烧瓶卡住加载
- apache-flink - 我可以将 Flink 时间窗口设置为较大的值吗?
- python - 将类与 django-filters 关联
- python - 如何拆分列数据并创建具有多列的新 DataFrame
- java - 什么会导致 HV000028 验证异常?
- angular - 无法绑定到“videoId”,因为它不是“youtube-player”的已知属性
- zabbix - Zabbix 邮箱配置
- ios - 应用因文件选择而被拒绝