-
Bug
-
Resolution: Fixed
-
P3
-
1.2.0
-
1.2fcs
-
sparc
-
solaris_2.5
-
Verified
Name: dfC67450 Date: 06/17/98
java.util.GregorianCalendar.setGregorianChange(Date cutover) fails with
Date(Long.MAX_VALUE).
Javadoc says about setGregorianCalendar
To obtain a pure Julian calendar, set the change date to
Date(Long.MAX_VALUE).
But after call setGregorianChange(Date(Long.MAX_VALUE)) the calendar isn't still
a pure Julian.
Here is the test demonstrating the bug:
-----------------Test.java------------------------
import java.util.*;
public class Test {
public static void main (String args[]){
GregorianCalendar calendar = new GregorianCalendar();
calendar.setGregorianChange(new Date(Long.MAX_VALUE));
// to obtain a pure Julian calendar
boolean is100Leap = calendar.isLeapYear(100);
if (is100Leap) {
System.out.println("test passed");
} else {
System.out.println("test failed");
System.out.println(" cutover date is Date(Long.MAX_VALUE)");
System.out.println(" isLeapYear(100) returns: " + is100Leap);
}
}
}
---------Output from the test---------------------
test failed
cutover date is Date(Long.MAX_VALUE)
isLeapYear(100) returns: false
-------------------------------------------------
======================================================================