Unparseable date using DateFormat.parse()
aem, datetime, java, simpledateformat
Solution
The time zone formated as `Z` should be `-0500`, not `-05:00`.
So I'd suggest you to replace
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
with
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSX");
See SimpleDateFormat's javadoc for more details on available formats.
If your jdk doesn't allow the X pattern, you'll have to fix the input string to remove the `:`. This can be done with a regex :
currentDate = currentDate.replaceAll(":(\\d\\d)$", "$1")
Problem
I followed a few other solutions on this site to this dilemma, and I do not have Joda Time installed, but I'm still at a loss as to why this is failing. I also tried removing the colons, as one solution stated, but that did not help. `currentNode.getProperty("jcr:created").getString()` = 2013-03-07T11:57:08.596-05:00 I get this error: java.text.ParseException: Unparseable date: "2013-03-07T11:57:08.596-05:00" ``` <%@page import=" java.util.Date, java.text.SimpleDateFormat, java.text.DateFormat" %> <% DateFormat outputFormat = new SimpleDateFormat("MMMM dd, yyyy"); DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); String currentDate = currentNode.getProperty("jcr:created").getString(); Date date = inputFormat.parse(currentDate); // <-- Failing here String currentDateString = outputFormat.format(date); %> ```