将格式为yyyy-MM-dd的字符串日期转换为HH:mm:ss.SSS为字符串MM / dd / yyyy

时间:2018-06-13 12:17:50

标签: java date

我正在尝试将格式为“yyyy-MM-dd HH:mm:ss.SSS”的字符串日期转换为字符串“MM / dd / yyyy”

我的代码是这样的:

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
String dateInString = "2015-07-16 17:07:21";
try {
    Date date = formatter.parse(dateInString);
    System.out.println(formatter.format(date));
} catch (ParseException e) {
    e.printStackTrace();
}

我收到错误:

  

java.text.ParseException:Unparseable date:“2015-07-16 17:07:21”at   java.base / java.text.DateFormat.parse(DateFormat.java:395)at   MyClass.main(MyClass.java:10)

请告诉我如何解决这个问题。我知道这可能是重复但我没有找到任何运气。感谢。

2 个答案:

答案 0 :(得分:1)

首先将日期中的字符串转换为以下内容:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateInString = "2015-07-16 17:07:21";
try {
    Date date = formatter.parse(dateInString);
    //And then apply the pattern
    formatter.applyPattern("MM/dd/yyyy");
    System.out.println(formatter.format(date));
} catch (ParseException e) {
    e.printStackTrace();
}

答案 1 :(得分:1)

试试这个

String dateInString = "2015-07-16 17:07:21"
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-ss HH:mm:ss");
SimpleDateFormat outputFormat = new SimpleDateFormat("MM/dd/yyyy");
try {
    Date date = inputFormat.parse(dateInString);
    System.out.println("Date ->" + outputFormat.format(date));
} catch (ParseException e) {
    e.printStackTrace();
}