Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么即使遵循正确的模式,SimpleDataFormat也会显示ParseException?_Java_Date Parsing_Parseexception - Fatal编程技术网

Java 为什么即使遵循正确的模式,SimpleDataFormat也会显示ParseException?

Java 为什么即使遵循正确的模式,SimpleDataFormat也会显示ParseException?,java,date-parsing,parseexception,Java,Date Parsing,Parseexception,在jsp文件中,我传递了一个input type=“date”元素,我想将该元素插入数据库中的date类型的列中。 当我通过这个 <input type="date" class="well well-sm" id="startDate" name="startDate"> 当我打印日期时,我得到了2018-05-24,这是我传递的输入,是所需的'yyyy-MM-dd'格式。我将在另一个班级中以以下格式获取此日期: SimpleDateFormat sdf1=new SimpleD

在jsp文件中,我传递了一个input type=“date”元素,我想将该元素插入数据库中的date类型的列中。 当我通过这个

<input type="date" class="well well-sm" id="startDate" name="startDate">
当我打印日期时,我得到了
2018-05-24
,这是我传递的输入,是所需的'yyyy-MM-dd'格式。我将在另一个班级中以以下格式获取此日期:

SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date ufromdate=sdf1.parse(p.getFromDate());//p.getFromDate()returns a string which has been assigned the value passed from the input element of type date.
java.sql.Date sqlfromdate=new java.sql.Date(ufromdate.getTime());
ps.setDate(5,sqlfromdate );

在这里,我得到了
ParseException
,尽管我遵循了在StackOverflow中为类似问题编写的其他答案中作为参考给出的正确模式。我仍然遇到此异常。

“返回一个字符串,该字符串已被分配从日期类型的输入元素传递的值。”该字符串的实际内容是什么?我敢打赌它不是yyyy-MM-dd格式。通常是隐藏的空白。尝试添加您正在传递的输入。还可能需要提及您的区域设置。请参阅在调用
sdf1.parse
之前添加此行:
如果(!“2018-05-24”.equals(p.getFromDate())抛出新的运行时异常(“[”+p.getFromDate()+”])(仅用于调试目的)。神圣调试器挽救了多少生命。。。
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date ufromdate=sdf1.parse(p.getFromDate());//p.getFromDate()returns a string which has been assigned the value passed from the input element of type date.
java.sql.Date sqlfromdate=new java.sql.Date(ufromdate.getTime());
ps.setDate(5,sqlfromdate );