SimpleDateFormat ParseException:无法解析的日期

SimpleDateFormat ParseException: Unparseable date

我要解析以下日期:

24 07 2017 3:47:57 AM

格式如下:

SimpleDateFormat df2 = new SimpleDateFormat("dd MM yyyy hh:mm:ss a");
df2.setTimeZone(TimeZone.getTimeZone("UTC"));
try {
    df2.parse(dateStr + " "+ sunrise);
}catch(ParseException e){
    e.printStackTrace();
}

但是我收到以下错误:

java.text.ParseException: Unparseable date: "24 07 2017 3:47:57 AM"

一种可能是您的默认值 Locale 具有与 AM/PM 不同的符号。在构建日期格式时,您应该始终提供 Locale,除非您真的想使用系统默认的 Locale,例如:

SimpleDateFormat df2 = new SimpleDateFormat("dd MM yyyy hh:mm:ss a", Locale.US)