The following code throws an IllegalArgumentException:
com.ibm.icu.util.ChineseCalendar chineseCalendar = new
com.ibm.icu.util.ChineseCalendar(
com.ibm.icu.util.TimeZone.getTimeZone("GMT+8:00"), Locale.CHINA );
chineseCalendar.setTimeInMillis((new Date()).getTime());
com.ibm.icu.text.SimpleDateFormat longChineseDateFormat =
(com.ibm.icu.text.SimpleDateFormat)chineseCalendar.getDateTimeFormat(
DateFormat.LONG, DateFormat.LONG, Locale.CHINA );
longChineseDateFormat.setDateFormatSymbols( new
com.ibm.icu.text.ChineseDateFormatSymbols( chineseCalendar, Locale.CHINA ) );
// The following line throws an IllegalArgumentException
String longFormatPattern = longChineseDateFormat.toLocalizedPattern();
The exception is:
java.lang.IllegalArgumentException: Illegal pattern character 'l'
at com.ibm.icu.text.SimpleDateFormat.translatePattern(SimpleDateFormat.java:1611)
at com.ibm.icu.text.SimpleDateFormat.toLocalizedPattern(SimpleDateFormat.java:1637)
at com.alphablox.blox.uimodel.core.DateFormatAdapterTest._testChineseFormatSymbols(DateFormatAdapterTest.java:138)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)