commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Zeckoski (JIRA)" <>
Subject [jira] Created: (LANG-530) parseDate cannot parse ISO8601 dates produced by FastDateFormat
Date Tue, 08 Sep 2009 14:38:57 GMT
parseDate cannot parse ISO8601 dates produced by FastDateFormat

                 Key: LANG-530
             Project: Commons Lang
          Issue Type: Bug
    Affects Versions: 2.4
            Reporter: Aaron Zeckoski

I cannot see why this is failing but here is my code:

   Date parseDate(String dateStr) {
       Date d = null;
       if (dateStr != null && ! "".equals(dateStr)) {
           try {
               // try to parse the date from ISO8601, general
formats, and RFC-2822
               d = DateUtils.parseDate(dateStr, new String[] {

           } catch (ParseException e) {
               // nothing to do
     "Failed to parse: " + dateStr + ":" + e, e);
               d = null;
       return d;

The string I am sending in to that method was generated like this:
String isoDateStr = DateFormatUtils.ISO_DATETIME_TIME_ZONE_FORMAT.format(date);

The exception is:
2009-09-03 13:29:37,644 [399355530@qtp3-2] INFO
search.SOLRSearchService  - Failed to parse:
2009-09-03T13:29:30+01:00:java.text.ParseException: Unable to parse
the date: 2009-09-03T13:29:30+01:00
java.text.ParseException: Unable to parse the date: 2009-09-03T13:29:30+01:00
       at org.apache.commons.lang.time.DateUtils.parseDate(

Issue seems to be that DateFormatUtils.ISO_DATETIME objects are
FastDateFormat objects; whereas parseDate uses SimpleDateFormat. The
former supports "ZZ" whereas the latter does not.

Java 1.4 (not sure about later) had 'Z' which meant +0100.
FastDateFormat adds 'ZZ' to support the ISO standard of +01:00. ie)
presumably your actual value is +0100+0100.

Solution is probably to have parseDate use FastDateFormat, though
there will always be the issue that getPattern from FastDateFormat may
not work with SimpleDateFormat.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message