无法解释的日期:“2014年2月20日”
我的字符串格式为“20/02/2014”,并希望将其格式更改为“MMMM dd,yyyy”,但它会出错。
以下是代码:
try {
SimpleDateFormat df = new SimpleDateFormat("MMMM dd,yyyy");
Date date = df.parse("20/02/2014");
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
} catch (java.text.ParseException e) {
e.printStackTrace();
}
答案 0 :(得分:3)
试试这段代码:
try { String str = "20/02/2014"; SimpleDateFormat sdf1 = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat sdf2 = new SimpleDateFormat("MMMM dd,yyyy"); System.out.println("Formatted Date : "+sdf2.format(sdf1.parse(str))); } catch (Exception e) { e.printStackTrace(); }
答案 1 :(得分:3)
您没有更改日期格式。您将以此格式传递日期dd / mm / yyyy:
try {
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date date = df.parse("20/02/2014");
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
} catch (java.text.ParseException e) {
e.printStackTrace();
}
要更改格式并拥有新日期,您需要使用format
命令
SimpleDateFormat sdf = new SimpleDateFormat("MMMM dd,yyyy");
date = sdf.format(date);
答案 2 :(得分:2)
您的字符串是dd/MM/yyyy
格式
try {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat df = new SimpleDateFormat("MMMM dd,yyyy");
String date = formatter.parse("20/02/2014");
Date date2 = df.format(date);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
} catch (java.text.ParseException e) {
e.printStackTrace();
}
答案 3 :(得分:2)
这样做
try {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date date = df.parse("20/02/2014");
System.out.println(sdf.format(date));
} catch (ParseException e) {
e.printStackTrace();
}