[ https://issues.apache.org/jira/browse/LANG-799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13459015#comment-13459015 ]
Duncan Jones edited comment on LANG-799 at 9/20/12 6:48 AM: ------------------------------------------------------------ Attached is a patch that adds overloaded versions of parseDate and parseDateStrictly with a Locale parameter (option D), plus unit tests. If a locale is supplied, the patterns will be interpreted using the date format symbols for that locale. The original issue would then be addressed by: {code} d = DateUtils.parseDate("Wed, 09 Apr 2008 23:55:38 GMT", Locale.ENGLISH, new String[] {"EEE, dd MMM yyyy HH:mm:ss zzz"}); {code} was (Author: dmjones500): Attached is a patch that adds overloaded versions of parseDate and parseDateStrictly with a Locale parameter (option D), plus unit tests. If a locale is supplied, the patterns will be interpreted using the date format symbols for that locale. The original issue would then be addressed by: {code} d = DateUtils.parseDate("Wed, 09 Apr 2008 23:55:38 GMT", Locale.ENGLISH, new String[] {"EEE, dd MMM yyyy HH:mm:ss zzz"}); {code} > 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 > Labels: features > Attachments: commons-lang3-LANG-799.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > 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 For more information on JIRA, see: http://www.atlassian.com/software/jira