Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4149677

java.util.GregorianCalendar.setGregorianChange(Date) fails with Long.MAX_VALUE

XMLWordPrintable

    • 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
      -------------------------------------------------

      ======================================================================

            aliusunw Alan Liu (Inactive)
            dfazunensunw Dmitri Fazunenko (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: