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

当我将我的字符串对象以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); 

这里有几个潜在的问题:

  • 您没有指定格式
  • 您没有指定区域设置
  • 您没有指定时区
  • 您正在尝试将返回值(将是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()); 
 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()); 

我有以下例外:

java.text.ParseException:无法解析的日期

 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); 

你混合了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));