日期格式不匹配。不可饶恕的例外

时间:2016-06-01 08:06:57

标签: android android-studio

我想改变

  

" 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)

如果有人发现此解决方案,请与我分享。

1 个答案:

答案 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"。