JDK-6609408 : JDK 1.4.1 not picking up Extended daylight savings time - Adelaide, Australia
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 1.4.2
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-09-26
  • Updated: 2010-07-29
  • Resolved: 2007-10-18
Related Reports
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.4.1_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_05-b01)
Java HotSpot(TM) Client VM (build 1.4.1_05-b01, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
Solaris 8
Windows 2000

A DESCRIPTION OF THE PROBLEM :
This bug is with jdk1.4.1.
 This case relates to the same problem the jdk1.4.2 has with the extended Daylight savings time in some states of Australia
 A bug has been submitted for that (Bug ID:2130605 and 6362722) however I cannot find a fix for jdk 1.4.1.

D:\data\BEACases\632858\timezoneTest>java -version
java version "1.4.1_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_05-b01)
Java HotSpot(TM) Client VM (build 1.4.1_05-b01, mixed mode)

 Here is what I did to check this version.
 (this test was done with on windows XP (with the relevant microsoft patch for this extended daylight savings timezone) AND we have other systems (solaris 8 running with jdk1.4.1_03 AND windows2000 and jdk 1.4.1._05) that have been patched to cater for this change)
 
 
 I create and run this simple class:
 
 
 public class timezone{
   public static void main(String[] args){
     System.out.println("User.timezone="+java.util.TimeZone.getDefault());
   }
 }
 
 
 With the timezone as (GMT +9:30) Adelaide running the class gives these results::
D:\data\BEACases\632858\timezoneTest>java timezone
User.timezone=sun.util.calendar.ZoneInfo[id="Australia/Adelaide",offset=34200000
,dstSavings=3600000,useDaylight=true,transitions=142,lastRule=java.util.SimpleTi
meZone[id=Australia/Adelaide,offset=34200000,dstSavings=3600000,useDaylight=true
,startYear=0,startMode=2,startMonth=9,startDay=-1,startDayOfWeek=1,startTime=720
0000,startTimeMode=1,endMode=2,endMonth=2,endDay=-1,endDayOfWeek=1,endTime=72000
00,endTimeMode=1]]


The class was ran with the timezone changed to(GMT +9:30) Adelaide (Commonwealth Games) we see these results:
 

D:\data\BEACases\632858\timezoneTest>java timezone
User.timezone=sun.util.calendar.ZoneInfo[id="Australia/Adelaide",offset=34200000
,dstSavings=3600000,useDaylight=true,transitions=142,lastRule=java.util.SimpleTi
meZone[id=Australia/Adelaide,offset=34200000,dstSavings=3600000,useDaylight=true
,startYear=0,startMode=2,startMonth=9,startDay=-1,startDayOfWeek=1,startTime=720
0000,startTimeMode=1,endMode=2,endMonth=2,endDay=-1,endDayOfWeek=1,endTime=72000
00,endTimeMode=1]]

Should the end month and endDay be the same?
Is there a fix for this?
I have just lodged bug ID for jdk1.3.1 (Bug ID: 653531)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 FYI: (more info on the daylight savings time change):
 
 Daylight savings end for 2005/2006
 For the Year 2006 only, the published Daylight Savings end transition dates (as at 14th September, 2005) for each of the states of Australia are:
 Victoria 27/03/2006 To 2/4/2006
 ACT 27/03/2006 To 2/4/2006
 NSW 27/03/2006 To 2/4/2006
 Tasmania 27/03/2006 To 2/4/2006
 South Australia 27/03/2006 To 2/4/2006
 
 
 Note: Clocks are advanced at 2am by 1 hour on start day to become Summer Time.
 Clocks are wound back at 3am by 1 hour at end day to become Standard Time.
 
 The change to Daylight Savings will affect the transition settings for the following time zone rules:
 
 (GMT + 10:00) Canberra, Melbourne, Sydney
 (GMT + 10:00) Hobart
 (GMT+09:30) Adelaide

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
 Here is what I did to check this version.
 (this test was done with on windows XP (with the relevant microsoft patch for this extended daylight savings timezone) AND we have other systems (solaris 8 running with jdk1.4.1_03 AND windows2000 and jdk 1.4.1._05) that have been patched to cater for this change)
 
 
 I create and run this simple class:
 
 
 public class timezone{
   public static void main(String[] args){
     System.out.println("User.timezone="+java.util.TimeZone.getDefault());
   }
 }
 
 
 With the timezone as (GMT +9:30) Adelaide running the class gives these results::
D:\data\BEACases\632858\timezoneTest>java timezone
User.timezone=sun.util.calendar.ZoneInfo[id="Australia/Adelaide",offset=34200000
,dstSavings=3600000,useDaylight=true,transitions=142,lastRule=java.util.SimpleTi
meZone[id=Australia/Adelaide,offset=34200000,dstSavings=3600000,useDaylight=true
,startYear=0,startMode=2,startMonth=9,startDay=-1,startDayOfWeek=1,startTime=720
0000,startTimeMode=1,endMode=2,endMonth=2,endDay=-1,endDayOfWeek=1,endTime=72000
00,endTimeMode=1]]


The class was ran with the timezone changed to(GMT +9:30) Adelaide (Commonwealth Games) we see these results:
 

D:\data\BEACases\632858\timezoneTest>java timezone
User.timezone=sun.util.calendar.ZoneInfo[id="Australia/Adelaide",offset=34200000
,dstSavings=3600000,useDaylight=true,transitions=142,lastRule=java.util.SimpleTi
meZone[id=Australia/Adelaide,offset=34200000,dstSavings=3600000,useDaylight=true
,startYear=0,startMode=2,startMonth=9,startDay=-1,startDayOfWeek=1,startTime=720
0000,startTimeMode=1,endMode=2,endMonth=2,endDay=-1,endDayOfWeek=1,endTime=72000
00,endTimeMode=1]]

Should the end month and endDay be the same?


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
 public class timezone{
   public static void main(String[] args){
     System.out.println("User.timezone="+java.util.TimeZone.getDefault());
   }
 }
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
we have none

Comments
EVALUATION This has been fixed in 1.4.2_11.
18-10-2007