我有一个扫描仪,它接受2个String并将其更改为LocalDate,但它没有将扫描仪计算在内,并给了我这个错误
Exception in thread "main" java.time.format.DateTimeParseException: Text '' could not be parsed at index 0
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDate.parse(Unknown Source) .....................location of my classes
代码:`
String date1 = sc1.nextLine();
String date2 = sc1.nextLine();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate dateDebut = LocalDate.parse(date1,formatter);
System.out.println(dateDebut);
a1.setDateDeb(dateDebut);
System.out.println(dateFin);
a1.setDateFin(dateFin);
但是当我放置两个String日期(“ 12/12/2019”)而不是2个扫描仪时,它会起作用。
我不知道它的来源。我正在使用Eclipse
答案 0 :(得分:1)
当您以其他格式输入日期时,将发生此错误。您需要以dd / mm / yyyy格式输入日期。
Scanner sc1 = new Scanner (System.in);
System.out.println("Enter Date1:");
String date1 = sc1.nextLine();
System.out.println("Enter Date2:");
String date2 = sc1.nextLine();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate dateDebut = LocalDate.parse(date1,formatter);
System.out.println(dateDebut);
// a1.setDateDeb(dateDebut);
LocalDate dateFin = LocalDate.parse(date2,formatter);
System.out.println(dateFin);
// a1.setDateFin(dateFin);
运行上面的代码时,它将提示输入2个日期。
输出: 输入日期1: 2025年5月5日 输入Date2: 2022年1月10日
2025-05-05 2022-10-01