JDK-4074747 : ECT TimeZone data is wrong
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: unknown,1.1.3
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris_2.5.1,windows_nt
  • CPU: x86,sparc
  • Submitted: 1997-08-27
  • Updated: 1998-03-02
  • Resolved: 1998-03-02
Related Reports
Duplicate :  
Duplicate :  
Description

Name: diC59631			Date: 08/27/97


In file java/util/TimeZone.java:

1. TimeZone information for 'European Central Time' contains
    wrong information:  Since 1996, daylight saving time ends on
    the last sunday in october, but java/util/TimeZone.java 
    contains `sunday of last week in september'


[second unrelated problem]
2. A solaris system located in 'central europe' typically uses the
    timezone id 'TZ=MET' which is interpreted by java as 'Middle
    East Time', which leads to unexpected local time values due
    to the wrong localtime vs. gmttime offset (3.5 hours vs. 1 hour)


Source code to reproduce the problem:

import java.util.*;
 
public class Cal2 {
    public static void main(String[] args) {
        GregorianCalendar c;

        c = new GregorianCalendar(1997, 7, 30, 12, 00, 30);
        System.out.println(c.getTime());

        c = new GregorianCalendar(1997, 8, 30, 12, 00, 30);
        System.out.println(c.getTime());

        c = new GregorianCalendar(1997, 9, 30, 12, 00, 30);
        System.out.println(c.getTime());
    }
}

2% javac Cal2.java
3% java -Duser.timezone=ECT Cal2
Sat Aug 30 12:00:30 GMT+02:00 1997
Tue Sep 30 12:00:30 GMT+01:00 1997
Thu Oct 30 12:00:30 GMT+01:00 1997


Note the wrong timezone offset for the second line which should
read GMT+02:00 since daylight saving time is still effective on
Sep, 30th in central europe!

company - Tools GmbH , email - ###@###.###
======================================================================

Comments
WORK AROUND Name: diC59631 Date: 08/27/97 ======================================================================
11-06-2004