Hi,
Working on this almost made my head explode and I'm sure it's still
broken, but I think it's little bit less broken than before.
Two of my Mauve java.util.Date tests turned out to be broken. I had used
Sun JDK 1.4.1 to calculate the reference dates, but it was buggy (fixed
in JDK 1.5).
+ int day = (int) (time / (24 * 60 * 60 * 1000L));
+ millisInDay = (int) (time % (24 * 60 * 60 * 1000L));
+ if (millisInDay < 0)
+ {
+ millisInDay += (24 * 60 * 60 * 1000);
+ day--;
+ }
+
+ int[] f = new int[FIELD_COUNT];
+ calculateDay(f, day, time - rawOffset >= gregorianCutover);
+ year = f[YEAR];
+ int month = f[MONTH];
+ day = f[DAY_OF_MONTH];
+ int weekday = f[DAY_OF_WEEK];
int dstOffset = isSet[DST_OFFSET]
? fields[DST_OFFSET] : (zone.getOffset((year < 0) ? BC : AD,
(year < 0) ? 1 - year : year,