Index: /icu4j/trunk/main/classes/core/src/com/ibm/icu/text/SimpleDateFormat.java =================================================================== --- /icu4j/trunk/main/classes/core/src/com/ibm/icu/text/SimpleDateFormat.java (revision 34867) +++ /icu4j/trunk/main/classes/core/src/com/ibm/icu/text/SimpleDateFormat.java (revision 34868) @@ -2820,5 +2820,5 @@ if ( override != null && (override.compareTo("hebr") == 0 || override.indexOf("y=hebr") >= 0) && value < 1000 ) { value += HEBREW_CAL_CUR_MILLENIUM_START_YEAR; - } else if (count == 2 && (pos.getIndex() - start) == 2 && !isChineseCalendar && !cal.getType().equals("japanese") + } else if (count == 2 && (pos.getIndex() - start) == 2 && cal.haveDefaultCentury() && UCharacter.isDigit(text.charAt(start)) && UCharacter.isDigit(text.charAt(start+1))) Index: /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/JapaneseCalendar.java =================================================================== --- /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/JapaneseCalendar.java (revision 34867) +++ /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/JapaneseCalendar.java (revision 34868) @@ -1,5 +1,5 @@ /* ******************************************************************************* - * Copyright (C) 1996-2010,2012, International Business Machines Corporation and * + * Copyright (C) 1996-2014, International Business Machines Corporation and * * others. All Rights Reserved. * ******************************************************************************* @@ -639,4 +639,13 @@ /** * {@inheritDoc} + * @internal + * @deprecated This API is ICU internal only. + */ + public boolean haveDefaultCentury() { + return false; + } + + /** + * {@inheritDoc} * @stable ICU 4.0 */ @@ -662,3 +671,4 @@ return super.getActualMaximum(field); } + } Index: /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/Calendar.java =================================================================== --- /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/Calendar.java (revision 34867) +++ /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/Calendar.java (revision 34868) @@ -1,4 +1,4 @@ /* -* Copyright (C) 1996-2013, International Business Machines +* Copyright (C) 1996-2014, International Business Machines * Corporation and others. All Rights Reserved. */ @@ -6081,4 +6081,19 @@ } + /** + * Returns if two digit representation of year in this calendar type + * customarily implies a default century (i.e. 03 -> 2003). + * The default implementation returns true. A subclass may + * return false if such practice is not applicable (for example, + * Chinese calendar and Japanese calendar). + * + * @return true if this calendar has a default century. + * @internal + * @deprecated This API is ICU internal only. + */ + public boolean haveDefaultCentury() { + return true; + } + // -------- BEGIN ULocale boilerplate -------- Index: /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/ChineseCalendar.java =================================================================== --- /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/ChineseCalendar.java (revision 34867) +++ /icu4j/trunk/main/classes/core/src/com/ibm/icu/util/ChineseCalendar.java (revision 34868) @@ -1,4 +1,4 @@ /********************************************************************* - * Copyright (C) 2000-2012, International Business Machines + * Copyright (C) 2000-2014, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************* @@ -1019,4 +1019,13 @@ /** + * {@inheritDoc} + * @internal + * @deprecated This API is ICU internal only. + */ + public boolean haveDefaultCentury() { + return false; + } + + /** * Override readObject. */