在这里,我尝试使用LocalDate
和格式化的日期来处理预订系统的开始日期和结束日期。我已经对出现的错误进行了一些搜索,但是,它们不处理类似的问题。像这里一样,我需要使用request.getParameter
来获取用户输入。
//Getting input values from jsp from
String cruiseName = request.getParameter("cruiseName");
DateTimeFormatter df = DateTimeFormatter.ofPattern("dd/MMM/yyyy");
LocalDate startDate =(LocalDate) LocalDate.parse(request.getParameter("startDate"),df);
LocalDate endDate =(LocalDate) LocalDate.parse(request.getParameter("endDate"),df);
错误消息:
Exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.time.format.DateTimeParseException: Text '03/10/2020' could not be parsed at index 3
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:901)
javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:875)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)**
Root Cause:
java.time.format.DateTimeParseException: Text '03/10/2020' could not be parsed at index 3
java.base/java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:2049)
java.base/java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1951)
java.base/java.time.LocalDate.parse(LocalDate.java:428)
答案 0 :(得分:0)
您尝试解析的格式与您获得的格式不同,这可能是因为用户要求的格式不正确,或者是因为您使用了错误的格式来解析。
您正尝试解析看起来像03 / Oct / 2020的dd/MMM/yyyy
格式,但是从得到03的错误消息中,您获得的格式是dd/MM/yyyy
或MM/dd/yyyy
。可以是2020年10月10日。您需要检查预期的输入并调整解析代码,或询问用户特定的格式。