--- old/src/java.base/share/classes/java/time/Duration.java 2018-06-08 09:37:29.584667708 -0700 +++ new/src/java.base/share/classes/java/time/Duration.java 2018-06-08 09:37:29.232667716 -0700 @@ -231,7 +231,7 @@ * This method allows an arbitrary number of nanoseconds to be passed in. * The factory will alter the values of the second and nanosecond in order * to ensure that the stored nanosecond is in the range 0 to 999,999,999. - * For example, the following will result in the exactly the same duration: + * For example, the following will result in exactly the same duration: *
      *  Duration.ofSeconds(3, 1);
      *  Duration.ofSeconds(4, -999_999_999);
@@ -1357,12 +1357,14 @@
      * Truncating the duration returns a copy of the original with conceptual fields
      * smaller than the specified unit set to zero.
      * For example, truncating with the {@link ChronoUnit#MINUTES MINUTES} unit will
-     * round down to the nearest minute, setting the seconds and nanoseconds to zero.
+     * round down towards zero to the nearest minute, setting the seconds and
+     * nanoseconds to zero.
      * 

* The unit must have a {@linkplain TemporalUnit#getDuration() duration} * that divides into the length of a standard day without remainder. - * This includes all supplied time units on {@link ChronoUnit} and - * {@link ChronoUnit#DAYS DAYS}. Other ChronoUnits throw an exception. + * This includes all + * {@linkplain ChronoUnit#isTimeBased() time-based units on {@code ChronoUnit}} + * and {@link ChronoUnit#DAYS DAYS}. Other ChronoUnits throw an exception. *

* This instance is immutable and unaffected by this method call. * @@ -1388,7 +1390,7 @@ throw new UnsupportedTemporalTypeException("Unit must divide into a standard day without remainder"); } long nod = (seconds % LocalTime.SECONDS_PER_DAY) * LocalTime.NANOS_PER_SECOND + nanos; - long result = (nod / dur) * dur ; + long result = (nod / dur) * dur; return plusNanos(result - nod); }