java.text.ParseException:无法解析的日期:将mm / dd / yyyy字符串转换为日期

时间:2014-09-16 15:24:19

标签: java date simpledateformat

当我将mm/dd/yyyy格式的字符串对象转换为Date时,它会给我

java.text.ParseException: Unparseable date: "09/17/2014"

我想这样做:

String date= "09/17/2014";
DateFormat df = new SimpleDateFormat();
Date journeyDate= (java.sql.Date) df.parse(date);

4 个答案:

答案 0 :(得分:13)

这里有几个潜在的问题:

  • 您未指定格式
  • 您未指定区域设置
  • 您未指定时区
  • 您正在尝试将返回值(这将是java.util.Date引用)转换为java.sql.Date - 这将失败

你想要这样的东西:

DateFormat df = new SimpleDateFormat("MM/dd/yyyy", Locale.US);
df.setTimeZone(...); // Whatever time zone you want to use
Date journeyDate = new java.sql.Date(df.parse(text).getTime());

答案 1 :(得分:1)

DateFormat df = new SimpleDateFormat("MM/dd/yyyy",Locale.ENGLISH);
Date journeyDate = df.parse(date); // gives you java.util.Date

如果你想要java.sql.Date那么

java.sql.Date sqlDate = new java.sql.Date(journeyDate.getTime());

答案 2 :(得分:0)

我有以下例外:

  

java.text.ParseException:Unparseable date

System.out.println("inside the XMLGregorianCalendar");

sb = (String) map.get(fieldname);
System.out.println("THis is XMLGReogoriaaaaan calendar"+ sb);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
Date journeyDate = new java.sql.Date(df.parse(sb).getTime());
System.out.println("this"+journeyDate);

答案 3 :(得分:0)

您已混合mM

m代表分钟,M代表月份。

以下是工作格式的示例。

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
String dateInString = "07/06/2013"; 
Date date = formatter.parse(dateInString);
System.out.println(formatter.format(date));