如何解析 DateTimeFormatter

问题描述 投票:0回答:1

我试图将字符串解析为 LocalDateTime 并给出以下错误:“线程“main”中的异常 java.time.format.DateTimeParseException:文本 '2014-12-08 09:55' 无法在索引 4 处解析 在 java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2108) 在 java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:2010) 在 java.base/java.time.LocalDateTime.parse(LocalDateTime.java:494) 在 FlightManager 处。(FlightManager.java:33) 在 FlightUI.main(FlightUI.java:17)"

           Scanner scLine = new Scanner(scFile.nextLine()).useDelimiter("#"); 
           String ticID = scLine.next();
           String na = scLine.next();
           scLine = new Scanner(scFile.nextLine()).useDelimiter("#");
           String code = scLine.next();
           String origin = scLine.next();
           String destination = scLine.next();
           LocalDateTime departureTime = LocalDateTime.parse(scLine.next()
                   , DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm"));
           LocalDateTime arrivalTime = LocalDateTime.parse(scLine.next()
                   , DateTimeFormatter.ofPattern("yyyy/MM/dd"));
           double cost = scLine.nextDouble();
           Flight dFlight = new Flight(code, origin, destination,
                   departureTime, arrivalTime, cost);
java java-time datetimeformatter
1个回答
0
投票

请更换

   LocalDateTime departureTime = LocalDateTime.parse(scLine.next()
           , DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm"));
   LocalDateTime arrivalTime = LocalDateTime.parse(scLine.next()
           , DateTimeFormatter.ofPattern("yyyy/MM/dd"));

与:

LocalDateTime departureTime = LocalDateTime.parse(scLine.next(),
    DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));
LocalDateTime arrivalTime = LocalDateTime.parse(scLine.next(),
    DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")); // Assuming this is also in the format "yyyy-MM-dd HH:mm"

假设出发时间和到达时间的格式都是 yyyy-MM-dd HH:mm ,例如:2014-12-08 09:55

© www.soinside.com 2019 - 2024. All rights reserved.