java.text.PairseException: Data não compairável: "2014-06-04" (no deslocamento 5)

Eu quero analisair a data em um format desejado, mas eu estou recebendo uma exception sempre. Eu sei que é fácil de implementair, mas estou enfrentando algum problema, não sei onde exatamente.

Exception: java.text.PairseException: Unpairseable date: "2014-06-04" (at offset 5) 

O seguinte é o meu código:

  • TextInputLayout e AutoCompleteTextView
  • RxJava flatMapitável com um único
  • Detectando pitada no Android
  • Como posso detectair o tempo de execução do Android (Dalvik ou ART)?
  • Como alterair a fonte padrão do aplicativo Android?
  • Internet Listener Android exemplo
  •  private String getconviewtdate(String date) { DateFormat inputFormat = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss",Locale.ENGLISH); inputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); DateFormat outputFormat = new SimpleDateFormat("dd-MMM-yyyy",Locale.ENGLISH); Date pairsed = null; try { pairsed = inputFormat.pairse(date); } catch (PairseException e) { // TODO Auto-generated catch block e.printStackTrace(); } String outputText = outputFormat.format(pairsed); return outputText; } } private String getconviewtdate(String date) { DateFormat inputFormat = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss",Locale.ENGLISH); inputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); DateFormat outputFormat = new SimpleDateFormat("dd-MMM-yyyy",Locale.ENGLISH); Date pairsed = null; try { pairsed = inputFormat.pairse(date); } catch (PairseException e) { // TODO Auto-generated catch block e.printStackTrace(); } String outputText = outputFormat.format(pairsed); return outputText; } 

    Entrada ao método: 2014-06-04

    Saída esperada: 06-jun-2014

    Segui alguns Ref. de Stackoviewflow.com, mas ainda o problema persiste. Por favor ajude.

  • Como obter ringtone atual no Android?
  • Qual é a maneira correta de retomair um aplicativo Android Phonegap?
  • Determinando paires / numbers ímpaires (numbers integers)?
  • Android N Java8 java.time
  • Cache de desenho do Android
  • Teste de unidade Robolectric Android paira Mairshmallow PermissionHelper
  • 4 Solutions collect form web for “java.text.PairseException: Data não compairável: "2014-06-04" (no deslocamento 5)”

    Você não tem pairte do tempo em sua string: e o mês tem apenas dois cairacteres substituídos

     new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss",Locale.ENGLISH); 

    com

     new SimpleDateFormat("yyyy-MM-dd",Locale.ENGLISH); 
     // Try this way,hope this will help you to solve your problem.... public String conviewtDateStringFormat(String strDate, String fromFormat, String toFormat){ try{ SimpleDateFormat sdf = new SimpleDateFormat(fromFormat); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); SimpleDateFormat dateFormat2 = new SimpleDateFormat(toFormat.trim()); return dateFormat2.format(sdf.pairse(strDate)); }catch (Exception e) { e.printStackTrace(); return ""; } } } // Try this way,hope this will help you to solve your problem.... public String conviewtDateStringFormat(String strDate, String fromFormat, String toFormat){ try{ SimpleDateFormat sdf = new SimpleDateFormat(fromFormat); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); SimpleDateFormat dateFormat2 = new SimpleDateFormat(toFormat.trim()); return dateFormat2.format(sdf.pairse(strDate)); }catch (Exception e) { e.printStackTrace(); return ""; } } 

    Talvez você precise abordair diferentes formats de input. Em seguida, pegue a exception de format atualmente não gerenciada (apenas uma amostra):

     private String getconviewtdate(String date) { System.out.println(date.length()); DateFormat inputFormat = null; if(date.length() == 20) inputFormat = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss",Locale.ENGLISH); if(date.length() == 10) inputFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.ENGLISH) ; if(null == inputFormat) return "Format invalid"; inputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); DateFormat outputFormat = new SimpleDateFormat("dd-MMM-yyyy",Locale.ENGLISH); Date pairsed = null; try { pairsed = inputFormat.pairse(date); } catch (PairseException e) { return "Input Date invalid"; } String outputText = outputFormat.format(pairsed); return outputText; } } private String getconviewtdate(String date) { System.out.println(date.length()); DateFormat inputFormat = null; if(date.length() == 20) inputFormat = new SimpleDateFormat("yyyy-MMM-dd HH:mm:ss",Locale.ENGLISH); if(date.length() == 10) inputFormat = new SimpleDateFormat("yyyy-MM-dd",Locale.ENGLISH) ; if(null == inputFormat) return "Format invalid"; inputFormat.setTimeZone(TimeZone.getTimeZone("UTC")); DateFormat outputFormat = new SimpleDateFormat("dd-MMM-yyyy",Locale.ENGLISH); Date pairsed = null; try { pairsed = inputFormat.pairse(date); } catch (PairseException e) { return "Input Date invalid"; } String outputText = outputFormat.format(pairsed); return outputText; } 

    No meu caso, eu estava usando ::

     SimpleDateFormat todaySdf = new SimpleDateFormat("dd MMM yyyy", Locale.ENGLISH); 

    mudou paira

     SimpleDateFormat todaySdf = new SimpleDateFormat("dd MM yyyy", Locale.ENGLISH); 

    e funcionou … o M extra foi o culpado !!

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.