United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6391777 JDK 1.3 TZ fix required - Related to SUN BASE RFE 6332148
JDK-6391777 : JDK 1.3 TZ fix required - Related to SUN BASE RFE 6332148

Details
Type:
Bug
Submit Date:
2006-02-28
Status:
Resolved
Updated Date:
2010-05-10
Project Name:
JDK
Resolved Date:
2006-03-09
Component:
core-libs
OS:
generic
Sub-Component:
java.util:i18n
CPU:
generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
1.3.0,1.3.1_17
Fixed Versions:
1.3.1_18 (b01)

Related Reports
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:
Relates:

Sub Tasks

Description
JDK 1.3 requires a fix to accomodate the 2006 TimeZone Changes for the Commonwealth Games to be held in Melbourne Australia.

  Fixes for JDK 1.4 and 1.5 have already been created by and are documented in SUN BASE BUG 6332148.

JDK 1.3 is still under support and a fix is urgently required.

References:
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=ae6bea4164dbd81b395dc0904a0:WuuT?bug_id=6332148
http://www.microsoft.com/downloads/details.aspx?FamilyId=DDA845DE-9D70-487C-8F7C-093D4DFD1899&displaylang=en

                                    

Comments
WORK AROUND

None.
                                     
2006-02-28
WORK AROUND

Use the user.timezone property to specify a GMT offset. For example, the following will use GMT+11:00.

$ java -Duser.timezone=GMT+11 YourApp
                                     
2006-03-01
EVALUATION

The time zone support in 1.3.1 and earlier can handle only a single set of daylight saving time transition rules. That limitation was removed in 1.4.0 by rearchitecting the whole time zone support (Olson public zone info support). Some "hacking" would be required to deal with the problem in 1.3.1. However, it's not an option to introduce a new TimeZone subclass in 1.3.1 due to serialization compatibility. (Unfortunately, the TimeZone class was designed to be mutable in JDK 1.1.)
                                     
2006-03-01
SUGGESTED FIX

A workaround fix is attached. java.util.TimeZoneData (package private class) now has two time zone data tables. One is based on 2006 DST rules. The other is based on 2007 DST rules. When a TimeZone instance is requested, either the 2006 table or the 2007 one is used based on the time of the request. Therefore, this workaround fix doesn't support local time correctly in both 2006 and 2007. That is, TimeZone instances created in 2006 don't support the 2007 DST transition rules. So, it's required to start JVM after 2007-01-01T00:00:00 local *standard* time.

I briefly tested the change. Thorough testing is required.
                                     
2006-03-02
SUGGESTED FIX

This workaround fix includes the U.S. DST schedule changes in 2007.
                                     
2006-03-02
SUGGESTED FIX

There were some missing time zones in the previous workaround fix. I'm replacing it with the new one. (I removed the previous one.)
                                     
2006-03-09
EVALUATION

This fix is based on tzdata2006a.
                                     
2006-06-28



Hardware and Software, Engineered to Work Together