2016-02-01 3 views
0

Я пытаюсь преобразовать строку даты json в дату для хранения в базе данных SQLite. После запуска приложение вылетает через некоторое время и получает ошибку Вызвано: java.lang.IllegalArgumentException: Ошибка анализа: в этой строке Date date = new Date (strActiondate); Сначала от 2 до 3 месяцев его запуск, но прямо сейчас его получение crash.Thanks в продвинутом !!Вызвано: java.lang.IllegalArgumentException: Ошибка анализа: в Android

Вот мой код даты

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 ошибка кошки

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) 
+0

Что такое значение 'strActiondate'? –

+0

Каково значение strActiondate? Также каков формат даты, который вы пытаетесь преобразовать strActiondate? –

+0

Извините за поздний ответ. 12/23/2015 1:28:14 PM это значение strActiondate. –

ответ

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"); 
+0

'public Date (строка строки) {...}' устарела. Не используйте его .. –

+0

Я получаю этот вывод 0008-01-06 02:26:25 PM, используя ваш код: - String newDateString = convertDateStringFormat ("23.12.2011 1:28:14 PM", " yyyy/MM/dd hh: mm: ss a "," yyyy-MM-dd hh: mm: ss a "); –

+0

Спасибо за ваше обновление, была небольшая ошибка, я обновил свой ответ .. пожалуйста, проверьте его. –

Смежные вопросы