SimpleDateFormat: excepción de fecha incomparable
Después de ocuparme de varios postes existentes, todavía no puedo conseguir que mi analizador de SimpleDateFormat funcione. Aquí está el código:
SimpleDateFormat df = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss Z", Locale.US); try { volcanoListDate = df.parse(currentValue); } catch (ParseException e) { Log.d("DEBUG", e.toString()); Log.d("DEBUG", currentValue); }
Siempre termino con una ParseException. Esta es la salida de los mensajes de depuración:
- Costumize android Fecha como twitter y feed de noticias de instagram
- Problema con el análisis Fecha cadena:
- Conversión de cadena-fecha con nanosegundos
- SimpleDateFormat parser
- Formato de una cadena de fecha y hora sólo
06-09 23: 52: 17.478: DEBUG / DEBUG (2436): java.text.ParseException: Unparseable date:
06-09 23: 52: 17.478: DEBUG / DEBUG (2436): mié, 08 de junio de 2011 03:23:55 -0500
La localización está establecida y el patrón se ve bien. ¿Dónde estoy equivocado?
- Android SimpleDateFormat devolver el tiempo incorrecto entre la medianoche y 1 am
- Advertencia de SimpleDateFormat Para obtener el formato local, utilice getDateInstance (), getDateTimeInstance () o getTimeInstance ()
- SimpleDateFormat 24h
- Mes sin ceros iniciales en Android
- Android parse String hasta la fecha - carácter de patrón desconocido 'X'
- Android.text.format.DateFormat "HH" no se reconoce como con java.text.SimpleDateFormat
- ¿Cómo puedo analizar una cadena de fecha con DateFormat?
- SimpleDateFormat ParseException: Unparseable date Error
Aquí está la solución:
SimpleDateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.US); try { volcanoListDate = df.parse(currentValue.replaceAll("\\p{Cntrl}", "")); } catch (ParseException e) { Log.d("VOLCANO_DEBUG", e.toString()); Log.d("VOLCANO_DEBUG", currentValue); }
El cambio importante es .replaceAll ("\\ p {Cntrl}", "") que elimina caracteres de control de la cadena analizada. Lo extraño es que no veo ninguno de esos caracteres con Notepad ++ en el xml de donde viene la cadena. Sin embargo, obviamente hay algo y está funcionando ahora.
¡Gracias por toda la ayuda!
A veces la razón por la que no se puede analizar tiene poco que ver con el formato de los números y mucho que ver con caracteres inesperados (que puede ' T ver siempre).
Teniendo en cuenta que algunas personas ya han reportado "funciona para mí" (@Gracias Bozho!) Yo sospecho firmemente que los caracteres no imprimibles en su cadena de entrada. Quién sabe, usted puede ser que tenga una pestaña vertical encajada allí en alguna parte!
- Aplicación de Android ClassNotFoundException, No se puede instanciar la aplicación
- ¿Puedo conectar Apache Derby DataBase con la aplicación Android?