我想改变
" 01-Jun-2016 07:54 AM"
到
" 2016年5月26日"
这是我的代码
DateFormat df = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH);
DateFormat existinFormat= new SimpleDateFormat("dd-MMM-yyyy HH:mm aa " , Locale
.ENGLISH);
Calendar c = Calendar.getInstance();
String newDateString = "";
Date startDate = null;
try {
startDate = existinFormat.parse((date));
newDateString = df.format(startDate);
} catch (ParseException e) {
e.printStackTrace();
}
但它的抛出解析异常:
java.text.ParseException: Unparseable date: "01-Jun-2016 07:54 AM" (at offset 20)
如果有人发现此解决方案,请与我分享。
答案 0 :(得分:2)
你可以这样做:
String dateStr = "01-Jun-2016 07:54 AM";
DateFormat existingformat = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss aa");
DateFormat newformat = new SimpleDateFormat("MMM dd, yyyy", Locale.ENGLISH);
Date date = null;
try {
date = existingformat.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
}
if (date != null) {
String resultFormattedDate = newformat.format(date);
Log.d("resultFormattedDate"," is:"+resultFormattedDate);
}
您能否解释一下您需要哪种日期格式?我在这里通过引用你的代码解释了resultDateFromat就像" MMM dd,yyyy"。