src/jdk/nashorn/internal/objects/NativeDate.java

Print this page
rev 1068 : 8062024: Issue with date.setFullYear when time other than midnight
Reviewed-by: jlaskey, lagergren

@@ -1043,11 +1043,12 @@
         return Math.floor(t / msPerDay);
     }
 
     // ECMA 15.9.1.2 TimeWithinDay (t)
     private static double timeWithinDay(final double t) {
-        return t % msPerDay;
+        final double val = t % msPerDay;
+        return val < 0? val + msPerDay : val;
     }
 
     // ECMA 15.9.1.3 InLeapYear (t)
     private static boolean isLeapYear(final int y) {
         return y % 4 == 0 && (y % 100 != 0 || y % 400 == 0);