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

Incorrect statement about an absolute value of months unit after period's normalization

    Details

    • Subcomponent:
    • Resolved In Build:
      b151
    • Verification:
      Not verified

      Description

      A DESCRIPTION OF THE PROBLEM :
      There is "11" but I think it should be "12" in the following sentence:
      "The months unit is adjusted to have an absolute value less than 11, with the years unit being adjusted to compensate."

      According to:
      https://docs.oracle.com/javase/8/docs/api/java/time/Period.html#getMonths--
      the method getMonths() "returns the months unit", so the following code returns the period's months unit after normalization:
      java.time.Period.ofMonths(11).normalized().getMonths()
      This code correctly returns 11, but 11 is not "an absolute value less than 11".

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Returns a copy of this period with the years and months normalized.

      This normalizes the years and months units, leaving the days unit unchanged. The months unit is adjusted to have an absolute value less than 12, with the years unit being adjusted to compensate. For example, a period of "1 Year and 15 months" will be normalized to "2 years and 3 months".

      The sign of the years and months units will be the same after normalization. For example, a period of "1 year and -25 months" will be normalized to "-1 year and -1 month".

      This instance is immutable and unaffected by this method call.
      ACTUAL -
      Returns a copy of this period with the years and months normalized.

      This normalizes the years and months units, leaving the days unit unchanged. The months unit is adjusted to have an absolute value less than 11, with the years unit being adjusted to compensate. For example, a period of "1 Year and 15 months" will be normalized to "2 years and 3 months".

      The sign of the years and months units will be the same after normalization. For example, a period of "1 year and -25 months" will be normalized to "-1 year and -1 month".

      This instance is immutable and unaffected by this method call.

      URL OF FAULTY DOCUMENTATION :
      https://docs.oracle.com/javase/8/docs/api/java/time/Period.html#normalized--

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                rriggs Roger Riggs
                Reporter:
                webbuggrp Webbug Group
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: