diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | java/util/GregorianCalendar.java | 6 |
2 files changed, 11 insertions, 1 deletions
@@ -1,5 +1,11 @@ 2007-04-13 Gary Benson <gbenson@redhat.com> + * java/util/GregorianCalendar.java + (setDefaultFields): Change DAY_OF_WEEK_IN_MONTH default, + and add some comments. + +2007-04-13 Gary Benson <gbenson@redhat.com> + * java/util/Calendar.java (clear()): Zero cleared fields rather than using a default. (clear(int)): Likewise. diff --git a/java/util/GregorianCalendar.java b/java/util/GregorianCalendar.java index 47be31154..8086b2286 100644 --- a/java/util/GregorianCalendar.java +++ b/java/util/GregorianCalendar.java @@ -500,11 +500,15 @@ public class GregorianCalendar extends Calendar */ private void setDefaultFields() { + // According to the spec DAY_OF_WEEK_IN_MONTH defaults to 1, + // but Sun set it to 0 so we do too. int[] defaults = { - AD, 1970, JANUARY, 0, 0, 1, 0, -1, 1, AM, 0, 0, 0, 0, 0, 0, 0 + AD, 1970, JANUARY, 0, 0, 1, 0, -1, 0, AM, 0, 0, 0, 0, 0, 0, 0 }; System.arraycopy(defaults, 0, fields, 0, FIELD_COUNT); fields[DAY_OF_WEEK] = getFirstDayOfWeek(); + // It seems odd that a call to computeTime() should cause + // areFieldsSet to become true, but that's what Sun do... areFieldsSet = true; } |