commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian P. MOMON (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (LANG-916) CLONE - DateFormatUtils.format does not correctly change Calendar TimeZone in certain situations
Date Fri, 13 Sep 2013 01:20:54 GMT

     [ https://issues.apache.org/jira/browse/LANG-916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Christian P. MOMON updated LANG-916:
------------------------------------

    Affects Version/s:     (was: 2.4)
                       3.3
    
> CLONE - DateFormatUtils.format does not correctly change Calendar TimeZone in certain
situations
> ------------------------------------------------------------------------------------------------
>
>                 Key: LANG-916
>                 URL: https://issues.apache.org/jira/browse/LANG-916
>             Project: Commons Lang
>          Issue Type: Bug
>          Components: lang.time.*
>    Affects Versions: 3.3
>         Environment: Sun JDK6, RHEL 5.3
>            Reporter: Christian P. MOMON
>             Fix For: 2.5
>
>
> If a Calendar object is constructed in certain ways a call to Calendar.setTimeZone does
not correctly change the Calendars fields.  Calling Calenar.getTime() seems to fix this problem.
 While this is probably a bug in the JDK, it would be nice if DateFormatUtils was smart enough
to detect/resolve this problem.
> For example, the following unit test fails:
> {noformat}
>   public void testFormat_CalendarIsoMsZulu() {
>     final String dateTime = "2009-10-16T16:42:16.000Z";
>     // more commonly constructed with: cal = new GregorianCalendar(2009, 9, 16, 8, 42,
16)
>     // for the unit test to work in any time zone, constructing with GMT-8 rather than
default locale time zone
>     GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT-8"));
>     cal.clear();
>     cal.set(2009, 9, 16, 8, 42, 16);
>     FastDateFormat format = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
TimeZone.getTimeZone("GMT"));
>     assertEquals("dateTime", dateTime, format.format(cal));
>   }
> {noformat}
> However, this unit test passes:
> {noformat}
>   public void testFormat_CalendarIsoMsZulu() {
>     final String dateTime = "2009-10-16T16:42:16.000Z";
>     GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT-8"));
>     cal.clear();
>     cal.set(2009, 9, 16, 8, 42, 16);
>     cal.getTime();
>     FastDateFormat format = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
TimeZone.getTimeZone("GMT"));
>     assertEquals("dateTime", dateTime, format.format(cal));
>   }
> {noformat}

--
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

Mime
View raw message