Other |
---|
1.3.1_22 b02Fixed |
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
Customer Problem Description: ----------------------------- FULL PRODUCT VERSION : java version "1.4.0_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03) Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode) FULL OPERATING SYSTEM VERSION : Microsoft Windows 2000 [Version 5.00.2195] A DESCRIPTION OF THE PROBLEM : If I initiate a GregorianCalendar to the time at DST boundery I got a different output with JDK 1.3.1 and 1.4. REGRESSION. Last worked in version 1.3.1 STEPS TO FOLLOW TO REPRODUCE THE PROBLEM : Just run this small programm with JDK 1.4 and then with 1.3.1 EXPECTED VERSUS ACTUAL BEHAVIOR : JDK version utc time 1.4.0_01 returns 1017539999000 (Sun Mar 31,2002 3:59:59 Europe/Berlin) 1.3.1 returns 1017536399000 (Sun Mar 31,2002 1:59:59 Europe/Berlin) REPRODUCIBILITY : This bug can be reproduced always. ---------- BEGIN SOURCE ---------- // DST switch on 31 March 2002 at 2:00:00 // // |-------|-------X-------|-------| // 12:00 01:00 03:00 04:00 5:00 // ^ // | // daylight switch from 2:00 to 3:00 by Europe/Berlin Calendar cal = new GregorianCalendar(2002, Calendar.MARCH, 31, 2, 59, 59); cal.setTimeZone(TimeZone.getTimeZone("Europe/Berlin")); long time = cal.getTime().getTime(); System.out.println(time); How to reproduce it: // DST switch on 31 March 2002 at 2:00:00 by Europe/Berlin // // |-------|-------X-------|-------| // 12:00 01:00 03:00 04:00 5:00 // ^ // | // daylight switch from 2:00 to 3:00 To reproduce you have just to run this with JDK 1.3.1 and JDK 1.4 to see the difference: Calendar cal = new GregorianCalendar(2002, Calendar.MARCH, 31, 2, 59, 59); cal.setTimeZone(TimeZone.getTimeZone("Europe/Berlin")); long time = cal.getTime().getTime(); System.out.println(time); JDK version utc time in ms 1.4.0_01 1017539999000 (Sun Mar 31, 2002 3:59:59 Europe/Berlin) 1.3.1 1017536399000 (Sun Mar 31, 2002 1:59:59 Europe/Berlin)
|