java.text.ParseException:无法解析的日期:“2014年9月16日”

时间:2014-09-12 05:06:16

标签: java

我想在mysql表中存储一个日期,我得到java.text.ParseException:Unparseable date:“09/16/2014”。有谁能够帮我?

I have tried in this way:
String sdate = request.getParameter("startDate");
DateFormat format = new SimpleDateFormat("dd-MM-yyyy");
Date dateObj = format.parse(sdate);

and the formate of "startDate" will be always like "dd/MM/yyyy".

3 个答案:

答案 0 :(得分:0)

你应该使用

MM/dd/yyyy

而不是

dd-MM-yyyy

如何决定Date Format

image

例如:

 String date = "09/16/2014";
 DateFormat format = new SimpleDateFormat("MM/dd/yyyy");
 Date dateObj;
  try {
      dateObj = format.parse(date);
      System.out.println(dateObj);
  } catch (ParseException e) {
      e.printStackTrace();
  }

答案 1 :(得分:0)

以这种方式试试。

try{
String sdate = request.getParameter("startDate");
DateFormat format = new SimpleDateFormat("MM/dd/yyyy");
Date dateObj = format.parse(sdate);
}catch(Exception e){
e.printStackTrace();
}

有关SimpleDateFormat访问here的更多内容。

答案 2 :(得分:0)

如果我了解你,你真正想要的是将格式从一种格式转换为另一种格式。这可以通过两个DateFormat(s)来完成,

String sdate = "09/16/2014";// request.getParameter("startDate");
DateFormat format = new SimpleDateFormat("MM/dd/yyyy");
DateFormat format2 = new SimpleDateFormat("dd-MM-yyyy");
Date dateObj;
try {
    dateObj = format.parse(sdate);
    System.out.println(format2.format(dateObj));
} catch (ParseException e) {
    e.printStackTrace();
}

输出

16-09-2014