RFR: JDK-8035099 LocalTime with(MILLI_OF_DAY/MICRO_OF_DAY) incorrect

Stephen Colebourne scolebourne at joda.org
Wed Mar 12 10:48:20 UTC 2014

This is a request for review of this bug:

The implementation for LocalTime with(MILLI_OF_DAY, n) and LocalTime
with(MICRO_OF_DAY, n) fails to match the specification.

LocalTime base = LocalTime.of(12, 30, 40, 987654321);

LocalTime result = base.with(MILLI_OF_DAY, 0);
expected: 00:00:00.000000000
was: 00:00:00.000654321

LocalTime result = base.with(MICRO_OF_DAY, 0);
expected: 00:00:00.000000000
was: 00:00:00.000000321

The spec is clear in both cases - "This completely replaces the time
and is equivalent to using {@link #ofNanoOfDay(long)}", thus this is
clearly a bug.

Proposed patch:
The patch includes no spec changes.
The patch includes new TCK tests that are derived explicitly from the spec.

I need a reviewer and a committer please.

More information about the core-libs-dev mailing list