Java 不可解析日期:将日期从dd MMM yyyy格式转换为dd/MM/yyyy格式时

Java 不可解析日期:将日期从dd MMM yyyy格式转换为dd/MM/yyyy格式时,java,datetime,Java,Datetime,当我运行下面的代码时,我得到了不可解析的错误。如何将dd MMM yyyy格式转换为dd/MM/yyyy格式 public Calendar myMethod(){ String dateStr = "16 Dec 2014" SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); Date thedate = formatter.parse(dateStr); Calendar cal = Ca

当我运行下面的代码时,我得到了不可解析的错误。如何将dd MMM yyyy格式转换为dd/MM/yyyy格式

public Calendar myMethod(){
   String dateStr = "16 Dec 2014"
   SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
   Date thedate = formatter.parse(dateStr);

   Calendar cal = Calendar.getInstance();
   cal.setTime(thedate);
   return cal;
}

假设您修复了明显的语法错误,那么:

String dateStr = "16 Dec 2014"                // <== This date is in dd MMM yyyy
formatter = new SimpleDateFormat(dd/MM/yyyy); // <== This SDF is in dd/MM/yyyy
Date thedate = formatter.parse(dateStr);      // <== So how can it be expected to parse?

年月日前后的s在哪里?是打字错误吗?那代码无法编译。请提供一个简短但完整的程序,实际演示问题。。。我们没有必要查看您在这里输入的代码,因为它显然不是您实际运行的代码。此外,与标题相反,此处没有进行任何格式设置。最后,您遗漏了一条非常重要的信息:您的系统区域设置。即使添加了引号之类的内容,您希望为dd/MM/yyyy配置的解析器如何解析dd-MMM-yyyy?
String dateStr = "16 Dec 2014";
SimpleDateFormat parser = new SimpleDateFormat("dd MMM yyyy");
Date thedate = parser.parse(dateStr);
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String dateStrReformatted = formatter.format(thedate);