Moto G2 Marshmallow 在转换日期格式时抛出异常

Moto G2 Marshmallow thowing exception on converting date format

我正在对我的日期字符串应用简单的日期格式。该覆盖在 Moto G3 的棒棒糖和棉花糖版本中运行良好,但在 Moto G2 中抛出异常。

这是我的代码:

SimpleDateFormat fmt;

        if(dateString.contains(":"))
        {
            fmt = new SimpleDateFormat("hh:mm a");
        }
        else
           fmt = new SimpleDateFormat("hh a");

        Date date = null;
        try {
            date = fmt.parse(dateString);
        } catch (ParseException e) {

            e.printStackTrace();

        }

        SimpleDateFormat fmtOut = new SimpleDateFormat("HH:mm:ss");
        return fmtOut.format(date);

登录猫:

java.text.ParseException: Unparseable date: "11 AM" (at offset 3)
02-18 13:48:21.886 1562-2096/com.example.k W/System.err:     at java.text.DateFormat.parse(DateFormat.java:579)
02-18 13:48:21.886 1562-2096/ccom.example.k  W/System.err:     at com.braintech.kwikgrocery.utils.Utility.convertTimeFormat(Utility.java:236)
02-18 13:48:21.886 1562-2096/com.example.k  W/System.err:     at com.braintech.kwikgrocery.activity.CheckOutConfirmOrderActivity$GetTimeSlots.doInBackground(CheckOutConfirmOrderActivity.java:289)
02-18 13:48:21.886 1562-2096/com.example.k  W/System.err:     at com.braintech.kwikgrocery.activity.CheckOutConfirmOrderActivity$GetTimeSlots.doInBackground(CheckOutConfirmOrderActivity.java:239)
02-18 13:48:21.886 1562-2096/com.example.k  W/System.err:     at android.os.AsyncTask.call(AsyncTask.java:295)
02-18 13:48:21.886 1562-2096/com.example.k  W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
02-18 13:48:21.886 1562-2096/com.example.k W/System.err:     at android.os.AsyncTask$SerialExecutor.run(AsyncTask.java:234)
02-18 13:48:21.886 1562-2096/com.example.k  W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
02-18 13:48:21.886 1562-2096/com.example.k  W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
02-18 13:48:21.886 1562-2096/com.example.k  W/System.err:     at java.lang.Thread.run(Thread.java:818)

在字符串上调用 trim 并替换

 SimpleDateFormat fmtOut = new SimpleDateFormat("HH:mm:ss");

 SimpleDateFormat fmtOut = new SimpleDateFormat("HH:mm:ss", Locale.ENGLISH);