Java将字符串(日/月/年)格式转换为日期

我正在尝试将字符串转换为日期

String date = "12/31/2012"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd"); try { Date parse = sdf.parse(date); System.out.println(parse); } catch (ParseException ex) { ex.printStackTrace(); } 

但在我看来,它有一个ExceptionParseExpception 。 这是为什么? 我想生成12/31/2012的日期

日期字符串 – 12/31/2012

它匹配 – MM/dd/yyyy

  • d – 每月的某一天
  • M – 一年中的月份
  • 年 – 年

 SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); 

月份的格式是MM不是mm而且你应该用-而不是/作为你的格式化分隔符是/并且你的格式应该与你的日期字符串相匹配。

 date 12-31-2012 fmt MM-dd-yyyy String date = "12-31-2012"; SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy"); 

如果你可以使用Joda时间

 String dateStr = "11/15/2013"; Date date = DateTimeFormat.forPattern("dd/MM/yyyy").parseDateTime(dateStr).toDate();