引起:java.lang.IllegalArgumentException:解析错误:在Android中

时间:2016-02-01 04:09:38

标签: android

我试图将json日期字符串转换为存储到SQLite数据库的日期。运行后,应用程序在一段时间后崩溃并且出现错误:java.lang.IllegalArgumentException:Parse error:此行日期date = new Date(strActiondate);最初运行2到3个月,但现在它正在崩溃。谢谢先进!!

这是我的日期代码

Log.e(" strActiondate "," ==========>>>>> "+strActiondate);
                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a", Locale.getDefault());
                    Date date = new Date(strActiondate);
                    String newDate = dateFormat.format(date);
                    Log.e(" newDate "," = "+ newDate);

这是我的LOG cat错误

Caused by: java.lang.IllegalArgumentException: Parse error:
            at java.util.Date.parseError(Date.java:364)
            at java.util.Date.parse(Date.java:560)
            at java.util.Date.<init>(Date.java:154)

1 个答案:

答案 0 :(得分:1)

您可以使用以下函数将一种日期字符串格式转换为另一种日期字符串格式。

public static String convertDateStringFormat(String dateString, String originalDateFormat, String outputDateFormat){
        String finalDate = null;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(originalDateFormat);
        try {
            Date date = simpleDateFormat.parse(dateString);
            simpleDateFormat = new SimpleDateFormat(outputDateFormat);
            finalDate = simpleDateFormat.format(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return finalDate;
}

使用:

String newDateString = convertDateStringFormat("12/23/2015 1:28:14 PM", "MM/dd/yyyy hh:mm:ss a", "yyyy-MM-dd hh:mm:ss a");