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);
我正在对我的日期字符串应用简单的日期格式。该覆盖在 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);