将日期格式 DD-MON-YYYY 更改为 DD/MM/YYYY

change date format DD-MON-YYYY to DD/MM/YYYY

我想将我从 excel 单元格文件中读取的日期格式更改为“2016 年 3 月 30 日”到 2016 年 3 月 30 日。我试过下面

     String inputDate = "30-mar-2016";
     DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
     Date startDate;
     startDate = df.parse(inputDate);

它给了我- java.text.ParseException:无法解析的日期:“2016 年 3 月 30 日” . 我也试过下面的代码

     String inputDate = "30-mar-2016";
     DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
     String startDate;
     startDate = df.format(inputDate);

获取 -- java.lang.IllegalArgumentException: 无法将给定对象格式化为日期

谁能帮帮我。

您输入的字符串 30-mar-2016 的格式为 dd-MMM-yyyy。您的输出格式是 MM/dd/yyyy。所以你需要两个 DateForamts。一种用于解析原始输入字符串,一种用于格式化输出字符串。

DateFormat df1 = new SimpleDateFormat("dd-MMM-yyyy"); // for parsing input
DateFormat df2 = new SimpleDateFormat("MM/dd/yyyy");  // for formatting output
String inputDate = "30-mar-2016";
Date d = df1.parse(inputDate);
String outputDate = df2.format(d); // => "03/30/2016"

我已经解决了使用下面的问题

     SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy");
     Date date = sdf.parse("30-mar-2016");
     sdf.applyPattern("MM/dd/yyyy");
     System.out.println(sdf.format(date));//got 03/30/2016

感谢大家的快速回复