Java 将错误获取为不可解析日期:“0”&引用;使用formatter.parse()时

Java 将错误获取为不可解析日期:“0”&引用;使用formatter.parse()时,java,hibernate,jsp,datetime-parsing,Java,Hibernate,Jsp,Datetime Parsing,我将日期作为JSP的输入,然后我需要使用hibernate存储在数据库中。 我的日期格式也正确,但仍然不起作用。 这是我的密码: String dateStr = request.getParameter("receive_date"); DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy"); Date date = (Date)formatter.parse(dateStr); System.out.p

我将日期作为JSP的输入,然后我需要使用hibernate存储在数据库中。 我的日期格式也正确,但仍然不起作用。 这是我的密码:

String dateStr =  request.getParameter("receive_date");
DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
Date date = (Date)formatter.parse(dateStr);
System.out.println(date);     

Calendar cal = Calendar.getInstance();
cal.setTime(date);

String formatedDate = cal.get(Calendar.DATE) + "/"+ (cal.get(Calendar.MONTH) + 1) + "/" +   cal.get(Calendar.YEAR); 
out.println("formatedDate : " + formatedDate);

试着换一下这两行

DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
Date date = (Date)formatter.parse(dateStr);


请提供您的输入和预期的输出。看起来
request.getParameter()
正在从请求中获取一个空白字符串。可能是这样吗?您可能希望使用调试器或打印字符串以便检查。它不会回答您的问题,但我建议您避免使用
SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦。今天我们的生活好多了。
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
Date date = LocalDate.parse(dateStr, formatter);