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

时间:2016-03-30 16:26:53

标签: java simpledateformat

我想更改从excel单元格文件中读取的日期格式是" 30-mar-2016"到2016年3月30日。我试过下面的

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

它给了我-java.text.ParseException:Unparseable date:" 30-mar-2016"    。 我也试过下面的代码

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

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

任何人都可以帮助我。

2 个答案:

答案 0 :(得分:3)

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

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"

答案 1 :(得分:0)

我已解决使用以下

     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

感谢大家的快速回复