You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Duncan Jones (JIRA)" <ji...@apache.org> on 2012/09/19 21:49:07 UTC

[jira] [Comment Edited] (LANG-799) DateUtils#parseDate uses default locale instead of US (or trying both default locale and Locale.English)

    [ 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