After looking after several existing posts, I am still not able to get my SimpleDateFormat parser working. Here is the code:
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);
}
I always end up with a ParseException. Here is the output of the debug messages:
06-09 23:52:17.478: DEBUG/DEBUG(2436): java.text.ParseException: Unparseable date:
06-09 23:52:17.478: DEBUG/DEBUG(2436): Wed, 08 Jun 2011 03:23:55 -0500
Locale ist set and the pattern looks okay. Where am I wrong?
Here is the solution:
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);
}
The important change is .replaceAll("\\p{Cntrl}", "") which removes control characters from the parsed string. The strange thing is, that I do not see any of those characters with Notepad++ in the xml where the string is from. However, obviously there is something and it is working now.
Thanks for all the help!