--- old/src/java.base/share/classes/java/time/Instant.java 2015-10-08 12:05:22.491728000 +0300 +++ new/src/java.base/share/classes/java/time/Instant.java 2015-10-08 12:05:22.221728000 +0300 @@ -758,7 +758,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 = Math.floorDiv(nod, dur) * dur ; return plusNanos(result - nod); }