mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-07 22:44:49 +00:00
ICU-10615 Updated the fix by adding an intenal API Calendar.haveDefaultCentury() like ICU4C, to exclude Chiense/Japanese/Dangi calendar to skip the default century parsing.
X-SVN-Rev: 34868
This commit is contained in:
parent
ed3bb51647
commit
c25116c2c8
4 changed files with 38 additions and 4 deletions
|
@ -2819,7 +2819,7 @@ public class SimpleDateFormat extends DateFormat {
|
|||
/* Skip this for Chinese calendar, moved from ChineseDateFormat */
|
||||
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)))
|
||||
{
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1996-2013, International Business Machines
|
||||
* Copyright (C) 1996-2014, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
*/
|
||||
|
||||
|
@ -6080,6 +6080,21 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
|
|||
return "unknown";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns if two digit representation of year in this calendar type
|
||||
* customarily implies a default century (i.e. 03 -> 2003).
|
||||
* The default implementation returns <code>true</code>. A subclass may
|
||||
* return <code>false</code> if such practice is not applicable (for example,
|
||||
* Chinese calendar and Japanese calendar).
|
||||
*
|
||||
* @return <code>true<code> if this calendar has a default century.
|
||||
* @internal
|
||||
* @deprecated This API is ICU internal only.
|
||||
*/
|
||||
public boolean haveDefaultCentury() {
|
||||
return true;
|
||||
}
|
||||
|
||||
// -------- BEGIN ULocale boilerplate --------
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*********************************************************************
|
||||
* Copyright (C) 2000-2012, International Business Machines
|
||||
* Copyright (C) 2000-2014, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
*********************************************************************
|
||||
*/
|
||||
|
@ -1017,6 +1017,15 @@ public class ChineseCalendar extends Calendar {
|
|||
return "chinese";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* @internal
|
||||
* @deprecated This API is ICU internal only.
|
||||
*/
|
||||
public boolean haveDefaultCentury() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Override readObject.
|
||||
*/
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*******************************************************************************
|
||||
* Copyright (C) 1996-2010,2012, International Business Machines Corporation and *
|
||||
* Copyright (C) 1996-2014, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
@ -636,6 +636,15 @@ public class JapaneseCalendar extends GregorianCalendar {
|
|||
return "japanese";
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* @internal
|
||||
* @deprecated This API is ICU internal only.
|
||||
*/
|
||||
public boolean haveDefaultCentury() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* @stable ICU 4.0
|
||||
|
@ -661,4 +670,5 @@ public class JapaneseCalendar extends GregorianCalendar {
|
|||
}
|
||||
return super.getActualMaximum(field);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue