Java将日期格式从自定义日期更改为MM dd yyyy

use*_*764 4 java formatting parsing date

我试图将存储在数据库中的字符串值(例如"2012-01-20")转换为2012年1月20日的格式.

我已经看到了一些例子,但是它们正在使用Date它们SimpleDateFormat.

作为一个例子,我尝试了一种方法,但"try"总是失败,结果为null

DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
Date convertedDate=null;

try {

    convertedDate = df.parse(datePlayed);                   

} catch(ParseException e){
    e.printStackTrace();
}   
Run Code Online (Sandbox Code Playgroud)

Mat*_*all 12

简而言之,您没有使用正确的格式进行解析.你需要使用两个 DateFormat实例; 一个用于解析,一个用于格式化.

DateFormat parser = new SimpleDateFormat("yyyy-MM-dd");
DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy");
Date convertedDate = parser.parse(datePlayed);
String output = formatter.format(convertedDate);
Run Code Online (Sandbox Code Playgroud)