线程“主”中的异常java.time.format.DateTimeParseException:无法在索引0处解析文本“

时间:2019-10-02 18:23:39

标签: java parsing localdate

我有一个扫描仪,它接受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

1 个答案:

答案 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