DateUtils#parseDate uses default locale instead of US (or trying both default 
locale and Locale.English)
--------------------------------------------------------------------------------------------------------

                 Key: LANG-799
                 URL: https://issues.apache.org/jira/browse/LANG-799
             Project: Commons Lang
          Issue Type: Bug
          Components: lang.time.*
    Affects Versions: 3.1
            Reporter: Oliver Kopp
            Priority: Minor


Similar issue as https://issues.apache.org/jira/browse/HTTPCLIENT-471

Following line throws an ParseException on a German system:
d = DateUtils.parseDate("Wed, 09 Apr 2008 23:55:38 GMT", new String[] {"EEE, dd 
MMM yyyy HH:mm:ss zzz"});

Reason: parseDate internally calls SimpleDateFormat without providing a locale. 
This causes "MMM" to be interpreted using the system locale. If the system is 
German, the date is trying to be interpreted as German date.

I see following solutions:
 A) Always instantiate SimpleDateFormat with Locale.ENGLISH
 B) Make two instances of SimpleDateFormat. One without providing a locale and 
one with Locale.ENGLISH. Try two parsings
 C) Make as many SimpleDateFormat instances as locales are availble iterate 
over all instances at the parsing attempts.
 D) provide an additional (optional) parameter to parseDate for providing a 
Locale

I would prefer B) as this seems the best trade-off between internationalization 
and local usage.

What do you think?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to