我有一些旧的 Java 代码尝试使用 来解析字符串SimpleDateFormat
。它经常抛出一个ParseException
:
非致命异常:java.text.ParseException:
无法解析日期:“06:00:00 PM”位于 java.text.DateFormat.parse(DateFormat.java:400)
我看不出这里出了什么问题。看起来很简单。希望有人能发现它。
public static String toTimeString(String time, String inTimeFormat, String outTimeFormat) {
DateFormat df1 = new SimpleDateFormat(inTimeFormat, Locale.getDefault());
DateFormat df2 = new SimpleDateFormat(outTimeFormat, Locale.getDefault());
String timeString = "";
try {
Date date = df1.parse(time); //<-- exception thrown here
_12HrTime = df2.format(date);
} catch (ParseException e) {
Crashlytics.recordException(e);
}
return timeString;
}
当它失败时,它被调用的方式如下:
toTimeString("06:00:00 PM", "hh:mm:ss a", "h:mm a")
请注意,该字符串06:00:00 PM
来自服务器响应。
每次我运行它时,它都能正常工作。但是 Crashlytics 经常报告此错误。我错过了什么?