SimpleDateFormat: unparseable date exception

后端 未结 2 1368
挽巷
挽巷 2021-01-18 04:08

After looking after several existing posts, I am still not able to get my SimpleDateFormat parser working. Here is the code:

SimpleDateFormat df = new Simple         


        
相关标签:
2条回答
  • 2021-01-18 04:30

    Check your input for non-printing characters, like tab (instead of space), etc. Sometimes the reason it can't parse has little to do with the formatting of the numbers and a lot to do with unexpected characters (that you can't always see).

    Considering some people have already reported "works for me" (@Thanks Bozho!) I would strongly suspect unprintable characters in your input string. Who knows, you might have a vertical tab embedded in there somewhere!

    0 讨论(0)
  • 2021-01-18 04:36

    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!

    0 讨论(0)
提交回复
热议问题