From 5a44ffb4cb322ae789b79ba4e78e589a4e8dd2c1 Mon Sep 17 00:00:00 2001 From: scolebourne Date: Thu, 6 Mar 2014 17:16:20 +0000 Subject: 8035099: LocalTime.with(MILLI_OF_DAY/MICRO_OF_DAY) incorrect Summary: Correctly zeros low order bits of time when setting milli/micro Reviewed-by: alanb, rriggs Contributed-by: Stephen Colebourne --- src/share/classes/java/time/LocalTime.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/share/classes/java/time') diff --git a/src/share/classes/java/time/LocalTime.java b/src/share/classes/java/time/LocalTime.java index 08a0631741..c3ccfcc303 100644 --- a/src/share/classes/java/time/LocalTime.java +++ b/src/share/classes/java/time/LocalTime.java @@ -838,9 +838,9 @@ public final class LocalTime case NANO_OF_SECOND: return withNano((int) newValue); case NANO_OF_DAY: return LocalTime.ofNanoOfDay(newValue); case MICRO_OF_SECOND: return withNano((int) newValue * 1000); - case MICRO_OF_DAY: return plusNanos((newValue - toNanoOfDay() / 1000) * 1000); + case MICRO_OF_DAY: return LocalTime.ofNanoOfDay(newValue * 1000); case MILLI_OF_SECOND: return withNano((int) newValue * 1000_000); - case MILLI_OF_DAY: return plusNanos((newValue - toNanoOfDay() / 1000_000) * 1000_000); + case MILLI_OF_DAY: return LocalTime.ofNanoOfDay(newValue * 1000_000); case SECOND_OF_MINUTE: return withSecond((int) newValue); case SECOND_OF_DAY: return plusSeconds(newValue - toSecondOfDay()); case MINUTE_OF_HOUR: return withMinute((int) newValue); -- cgit v1.2.3