diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java index 47c48aeaa594..b69ab9569370 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Calendar.java @@ -6066,7 +6066,7 @@ protected int computeJulianDay() { if (stamp[JULIAN_DAY] >= MINIMUM_USER_STAMP) { int bestStamp = newestStamp(ERA, DAY_OF_WEEK_IN_MONTH, UNSET); bestStamp = newestStamp(YEAR_WOY, EXTENDED_YEAR, bestStamp); - bestStamp = newestStamp(ORDINAL_MONTH, ORDINAL_MONTH, bestStamp); + // bestStamp = newestStamp(ORDINAL_MONTH, ORDINAL_MONTH, bestStamp); if (bestStamp <= stamp[JULIAN_DAY]) { return internalGet(JULIAN_DAY); } @@ -6619,7 +6619,7 @@ protected static final int floorDivide(long numerator, int denominator, int[] re "DAY_OF_WEEK_IN_MONTH", "AM_PM", "HOUR", "HOUR_OF_DAY", "MINUTE", "SECOND", "MILLISECOND", "ZONE_OFFSET", "DST_OFFSET", "YEAR_WOY", "DOW_LOCAL", "EXTENDED_YEAR", - "JULIAN_DAY", "MILLISECONDS_IN_DAY", + "JULIAN_DAY", "MILLISECONDS_IN_DAY", "IS_LEAP_MONTH", "ORDINAL_MONTH" }; /** diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/ChineseCalendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/ChineseCalendar.java index 657bc2949ce2..069b6271e569 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/ChineseCalendar.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/ChineseCalendar.java @@ -1158,6 +1158,18 @@ protected int internalGetMonth() return month; } + /** + * {@inheritDoc} + * @internal + */ + protected int internalGetMonth(int defaultValue) + { + if (resolveFields(MONTH_PRECEDENCE) == MONTH) { + return internalGet(MONTH, defaultValue); + } + return internalGetMonth(); + } + /* private static CalendarFactory factory; public static CalendarFactory factory() { diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/IndianCalendar.java b/icu4j/main/classes/core/src/com/ibm/icu/util/IndianCalendar.java index b5d6d8eecb4a..cb284c8785d1 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/IndianCalendar.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/IndianCalendar.java @@ -394,8 +394,8 @@ protected void handleComputeFields(int julianDay){ internalSet(ERA, 0); internalSet(EXTENDED_YEAR, IndianYear); internalSet(YEAR, IndianYear); - internalSet(ORDINAL_MONTH, IndianMonth); internalSet(MONTH, IndianMonth); + internalSet(ORDINAL_MONTH, IndianMonth); internalSet(DAY_OF_MONTH, IndianDayOfMonth ); internalSet(DAY_OF_YEAR, yday + 1); // yday is 0-based }