|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.ibm.icu.text.DateFormatSymbols
public class DateFormatSymbols
[icu enhancement] ICU's replacement for java.text.DateFormatSymbols
. Methods, fields, and other functionality specific to ICU are labeled '[icu]'.
DateFormatSymbols
is a public class for encapsulating
localizable date-time formatting data, such as the names of the
months, the names of the days of the week, and the time zone data.
DateFormat
and SimpleDateFormat
both use
DateFormatSymbols
to encapsulate this information.
Typically you shouldn't use DateFormatSymbols
directly.
Rather, you are encouraged to create a date-time formatter with the
DateFormat
class's factory methods: getTimeInstance
,
getDateInstance
, or getDateTimeInstance
.
These methods automatically create a DateFormatSymbols
for
the formatter so that you don't have to. After the
formatter is created, you may modify its format pattern using the
setPattern
method. For more information about
creating formatters using DateFormat
's factory methods,
see DateFormat
.
If you decide to create a date-time formatter with a specific format pattern for a specific locale, you can do so with:
new SimpleDateFormat(aPattern, new DateFormatSymbols(aLocale)).
DateFormatSymbols
objects are clonable. When you obtain
a DateFormatSymbols
object, feel free to modify the
date-time formatting data. For instance, you can replace the localized
date-time format pattern characters with the ones that you feel easy
to remember. Or you can change the representative cities
to your favorite ones.
New DateFormatSymbols
subclasses may be added to support
SimpleDateFormat
for date-time formatting for additional locales.
DateFormat
,
SimpleDateFormat
,
SimpleTimeZone
,
Serialized FormField Summary | |
---|---|
static int |
ABBREVIATED
[icu] Constant for width. |
static int |
DT_CONTEXT_COUNT
Deprecated. This API is ICU internal only. |
static int |
DT_WIDTH_COUNT
Deprecated. This API is ICU internal only. |
static int |
FORMAT
[icu] Constant for context. |
static int |
NARROW
[icu] Constant for width. |
static int |
STANDALONE
[icu] Constant for context. |
static int |
WIDE
[icu] Constant for width. |
Constructor Summary | |
---|---|
DateFormatSymbols()
Constructs a DateFormatSymbols object by loading format data from resources for the default FORMAT locale. |
|
DateFormatSymbols(Calendar cal,
Locale locale)
Returns the DateFormatSymbols object that should be used to format a
calendar system's dates in the given locale. |
|
DateFormatSymbols(Calendar cal,
ULocale locale)
Returns the DateFormatSymbols object that should be used to format a
calendar system's dates in the given locale. |
|
DateFormatSymbols(Class<? extends Calendar> calendarClass,
Locale locale)
Variant of DateFormatSymbols(Calendar, Locale) that takes the Calendar class instead of a Calandar instance. |
|
DateFormatSymbols(Class<? extends Calendar> calendarClass,
ULocale locale)
Variant of DateFormatSymbols(Calendar, ULocale) that takes the Calendar class instead of a Calandar instance. |
|
DateFormatSymbols(Locale locale)
Constructs a DateFormatSymbols object by loading format data from resources for the given locale. |
|
DateFormatSymbols(ResourceBundle bundle,
Locale locale)
Fetches a custom calendar's DateFormatSymbols out of the given resource bundle. |
|
DateFormatSymbols(ResourceBundle bundle,
ULocale locale)
Fetches a custom calendar's DateFormatSymbols out of the given resource bundle. |
|
DateFormatSymbols(ULocale locale)
[icu] Constructs a DateFormatSymbols object by loading format data from resources for the given ulocale. |
Method Summary | |
---|---|
Object |
clone()
Overrides clone. |
boolean |
equals(Object obj)
Overrides equals. |
String[] |
getAmPmStrings()
Returns am/pm strings. |
static Locale[] |
getAvailableLocales()
Returns an array of all locales for which the getInstance methods of
this class can return localized instances. |
static ULocale[] |
getAvailableULocales()
[icu] Returns an array of all locales for which the getInstance
methods of this class can return localized instances. |
static ResourceBundle |
getDateFormatBundle(Calendar cal,
Locale locale)
Deprecated. ICU 4.0 |
static ResourceBundle |
getDateFormatBundle(Calendar cal,
ULocale locale)
Deprecated. ICU 4.0 |
static ResourceBundle |
getDateFormatBundle(Class<? extends Calendar> calendarClass,
Locale locale)
Deprecated. ICU 4.0 |
static ResourceBundle |
getDateFormatBundle(Class<? extends Calendar> calendarClass,
ULocale locale)
Deprecated. ICU 4.0 |
String[] |
getEraNames()
[icu] Returns era name strings. |
String[] |
getEras()
Returns era strings. |
static DateFormatSymbols |
getInstance()
Returns a DateFormatSymbols instance for the default locale. |
static DateFormatSymbols |
getInstance(Locale locale)
Returns a DateFormatSymbols instance for the given locale. |
static DateFormatSymbols |
getInstance(ULocale locale)
[icu] Returns a DateFormatSymbols instance for the given locale. |
ULocale |
getLocale(ULocale.Type type)
Returns the locale that was used to create this object, or null. |
String |
getLocalPatternChars()
Returns localized date-time pattern characters. |
String[] |
getMonths()
Returns month strings. |
String[] |
getMonths(int context,
int width)
Returns month strings. |
String[] |
getQuarters(int context,
int width)
[icu] Returns quarter strings. |
String[] |
getShortMonths()
Returns short month strings. |
String[] |
getShortWeekdays()
Returns short weekday strings. |
String[] |
getWeekdays()
Returns weekday strings. |
String[] |
getWeekdays(int context,
int width)
Returns weekday strings. |
String[][] |
getZoneStrings()
Returns time zone strings. |
int |
hashCode()
Override hashCode. |
protected void |
initializeData(ULocale desiredLocale,
com.ibm.icu.impl.CalendarData calData)
Deprecated. This API is ICU internal only. |
protected void |
initializeData(ULocale desiredLocale,
String type)
Initializes format symbols for the locale and calendar type |
void |
setAmPmStrings(String[] newAmpms)
Sets am/pm strings. |
void |
setEraNames(String[] newEraNames)
[icu] Sets era name strings. |
void |
setEras(String[] newEras)
Sets era strings. |
void |
setLocalPatternChars(String newLocalPatternChars)
Sets localized date-time pattern characters. |
void |
setMonths(String[] newMonths)
Sets month strings. |
void |
setMonths(String[] newMonths,
int context,
int width)
Sets month strings. |
void |
setQuarters(String[] newQuarters,
int context,
int width)
[icu] Sets quarter strings. |
void |
setShortMonths(String[] newShortMonths)
Sets short month strings. |
void |
setShortWeekdays(String[] newShortWeekdays)
Sets short weekday strings. |
void |
setWeekdays(String[] newWeekdays)
Sets weekday strings. |
void |
setWeekdays(String[] newWeekdays,
int context,
int width)
Sets weekday strings. |
void |
setZoneStrings(String[][] newZoneStrings)
Sets time zone strings. |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int FORMAT
public static final int STANDALONE
public static final int DT_CONTEXT_COUNT
public static final int ABBREVIATED
public static final int WIDE
public static final int NARROW
public static final int DT_WIDTH_COUNT
Constructor Detail |
---|
public DateFormatSymbols()
FORMAT
locale.
MissingResourceException
- if the resources for the default locale
cannot be found or cannot be loaded.ULocale.Category.FORMAT
public DateFormatSymbols(Locale locale)
MissingResourceException
- if the resources for the specified
locale cannot be found or cannot be loaded.public DateFormatSymbols(ULocale locale)
MissingResourceException
- if the resources for the specified
locale cannot be found or cannot be loaded.public DateFormatSymbols(Calendar cal, Locale locale)
DateFormatSymbols
object that should be used to format a
calendar system's dates in the given locale.
Subclassing:
When creating a new Calendar subclass, you must create the
ResourceBundle
containing its DateFormatSymbols
in a specific place.
The resource bundle name is based on the calendar's fully-specified
class name, with ".resources" inserted at the end of the package name
(just before the class name) and "Symbols" appended to the end.
For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar"
is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
Within the ResourceBundle, this method searches for five keys:
DAY_OF_WEEK
field. Even though
DAY_OF_WEEK
starts with SUNDAY
= 1,
This array is 0-based; the name for Sunday goes in the
first position, at index 0. If this key is not found
in the bundle, the day names are inherited from the
default DateFormatSymbols
for the requested locale.
DateFormatSymbols
for the locale.
MONTH
field. If this key is not found
in the bundle, the month names are inherited from the
default DateFormatSymbols
for the requested locale.
DateFormatSymbols
for the locale.
ERA
field. If this key is not found
in the bundle, the era names are inherited from the
default DateFormatSymbols
for the requested locale.
cal
- The calendar system whose date format symbols are desired.locale
- The locale whose symbols are desired.DateFormatSymbols(java.util.Locale)
public DateFormatSymbols(Calendar cal, ULocale locale)
DateFormatSymbols
object that should be used to format a
calendar system's dates in the given locale.
Subclassing:
When creating a new Calendar subclass, you must create the
ResourceBundle
containing its DateFormatSymbols
in a specific place.
The resource bundle name is based on the calendar's fully-specified
class name, with ".resources" inserted at the end of the package name
(just before the class name) and "Symbols" appended to the end.
For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar"
is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
Within the ResourceBundle, this method searches for five keys:
DAY_OF_WEEK
field. Even though
DAY_OF_WEEK
starts with SUNDAY
= 1,
This array is 0-based; the name for Sunday goes in the
first position, at index 0. If this key is not found
in the bundle, the day names are inherited from the
default DateFormatSymbols
for the requested locale.
DateFormatSymbols
for the locale.
MONTH
field. If this key is not found
in the bundle, the month names are inherited from the
default DateFormatSymbols
for the requested locale.
DateFormatSymbols
for the locale.
ERA
field. If this key is not found
in the bundle, the era names are inherited from the
default DateFormatSymbols
for the requested locale.
cal
- The calendar system whose date format symbols are desired.locale
- The ulocale whose symbols are desired.DateFormatSymbols(java.util.Locale)
public DateFormatSymbols(Class<? extends Calendar> calendarClass, Locale locale)
DateFormatSymbols(Calendar, Locale)
public DateFormatSymbols(Class<? extends Calendar> calendarClass, ULocale locale)
DateFormatSymbols(Calendar, Locale)
public DateFormatSymbols(ResourceBundle bundle, Locale locale)
DateFormatSymbols(java.util.Locale)
public DateFormatSymbols(ResourceBundle bundle, ULocale locale)
DateFormatSymbols(java.util.Locale)
Method Detail |
---|
public static DateFormatSymbols getInstance()
[icu] Note: Unlike java.text.DateFormatSymbols#getInstance
,
this method simply returns new com.ibm.icu.text.DateFormatSymbols()
.
ICU does not support DateFormatSymbolsProvider
introduced in Java 6
or its equivalent implementation for now.
public static DateFormatSymbols getInstance(Locale locale)
[icu] Note: Unlike java.text.DateFormatSymbols#getInstance
,
this method simply returns new com.ibm.icu.text.DateFormatSymbols(locale)
.
ICU does not support DateFormatSymbolsProvider
introduced in Java 6
or its equivalent implementation for now.
locale
- the locale.
public static DateFormatSymbols getInstance(ULocale locale)
[icu] Note: Unlike java.text.DateFormatSymbols#getInstance
,
this method simply returns new com.ibm.icu.text.DateFormatSymbols(locale)
.
ICU does not support DateFormatSymbolsProvider
introduced in Java 6
or its equivalent implementation for now.
locale
- the locale.
public static Locale[] getAvailableLocales()
getInstance
methods of
this class can return localized instances.
[icu] Note: Unlike java.text.DateFormatSymbols#getAvailableLocales
,
this method simply returns the array of Locale
s available in this
class. ICU does not support DateFormatSymbolsProvider
introduced in
Java 6 or its equivalent implementation for now.
Locale
s for which localized
DateFormatSymbols
instances are available.public static ULocale[] getAvailableULocales()
getInstance
methods of this class can return localized instances.
[icu] Note: Unlike java.text.DateFormatSymbols#getAvailableLocales
,
this method simply returns the array of ULocale
s available in this
class. ICU does not support DateFormatSymbolsProvider
introduced in
Java 6 or its equivalent implementation for now.
ULocale
s for which localized
DateFormatSymbols
instances are available.public String[] getEras()
public void setEras(String[] newEras)
newEras
- the new era strings.public String[] getEraNames()
public void setEraNames(String[] newEraNames)
newEraNames
- the new era strings.public String[] getMonths()
public String[] getMonths(int context, int width)
context
- The month context, FORMAT or STANDALONE.width
- The width or the returned month string,
either WIDE, ABBREVIATED, or NARROW.
public void setMonths(String[] newMonths)
newMonths
- the new month strings.public void setMonths(String[] newMonths, int context, int width)
newMonths
- the new month strings.context
- The formatting context, FORMAT or STANDALONE.width
- The width of the month string,
either WIDE, ABBREVIATED, or NARROW.public String[] getShortMonths()
public void setShortMonths(String[] newShortMonths)
newShortMonths
- the new short month strings.public String[] getWeekdays()
Calendar.SUNDAY
,
Calendar.MONDAY
, etc. to index the result array.public String[] getWeekdays(int context, int width)
context
- Formatting context, either FORMAT or STANDALONE.width
- Width of strings to be returned, either
WIDE, ABBREVIATED, or NARROW
Calendar.SUNDAY
,
Calendar.MONDAY
, etc. to index the result array.public void setWeekdays(String[] newWeekdays, int context, int width)
newWeekdays
- The new weekday strings.context
- The formatting context, FORMAT or STANDALONE.width
- The width of the strings,
either WIDE, ABBREVIATED, or NARROW.public void setWeekdays(String[] newWeekdays)
newWeekdays
- the new weekday strings. The array should
be indexed by Calendar.SUNDAY
,
Calendar.MONDAY
, etc.public String[] getShortWeekdays()
Calendar.SUNDAY
,
Calendar.MONDAY
, etc. to index the result array.public void setShortWeekdays(String[] newShortWeekdays)
newShortWeekdays
- the new short weekday strings. The array should
be indexed by Calendar.SUNDAY
,
Calendar.MONDAY
, etc.public String[] getQuarters(int context, int width)
context
- The quarter context, FORMAT or STANDALONE.width
- The width or the returned quarter string,
either WIDE or ABBREVIATED. There are no NARROW quarters.
public void setQuarters(String[] newQuarters, int context, int width)
newQuarters
- the new quarter strings.context
- The formatting context, FORMAT or STANDALONE.width
- The width of the quarter string,
either WIDE or ABBREVIATED. There are no NARROW quarters.public String[] getAmPmStrings()
public void setAmPmStrings(String[] newAmpms)
newAmpms
- the new ampm strings.public String[][] getZoneStrings()
The array returned by this API is a two dimensional String array and each row contains at least following strings:
null
.
Note: ICU implements time zone display name formatting algorithm
specified by UTS#35 Unicode
Locale Data Markup Language(LDML). The algorithm supports historic
display name changes and various different type of names not available in
JDK. For accessing the full set of time zone string data used by ICU implementation,
you should use TimeZoneNames
APIs instead.
public void setZoneStrings(String[][] newZoneStrings)
Note: SimpleDateFormat
no longer uses the
zone strings stored in a DateFormatSymbols
.
Therefore, the time zone strings set by this method have
no effects in an instance of SimpleDateFormat
for formatting time zones. If you want to customize time
zone display names formatted by SimpleDateFormat
,
you should customize TimeZoneFormat
and set the
instance by SimpleDateFormat.setTimeZoneFormat(TimeZoneFormat)
instead.
newZoneStrings
- the new time zone strings.public String getLocalPatternChars()
Note: ICU no longer provides localized date-time pattern characters for a locale starting ICU 3.8. This method returns the non-localized date-time pattern characters unless user defined localized data is set by setLocalPatternChars.
public void setLocalPatternChars(String newLocalPatternChars)
newLocalPatternChars
- the new localized date-time
pattern characters.public Object clone()
clone
in class Object
public int hashCode()
hashCode
in class Object
public boolean equals(Object obj)
equals
in class Object
protected void initializeData(ULocale desiredLocale, String type)
desiredLocale
- The locale whose symbols are desired.type
- The calendar type whose date format symbols are desired.protected void initializeData(ULocale desiredLocale, com.ibm.icu.impl.CalendarData calData)
desiredLocale
- The locale whose symbols are desired.calData
- The calendar resource datapublic static ResourceBundle getDateFormatBundle(Class<? extends Calendar> calendarClass, Locale locale) throws MissingResourceException
The resource bundle name is based on the calendar's fully-specified class name, with ".resources" inserted at the end of the package name (just before the class name) and "Symbols" appended to the end. For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar" is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
Note:Because of the structural changes in the ICU locale bundle, this API no longer works as described. This method always returns null.
MissingResourceException
public static ResourceBundle getDateFormatBundle(Class<? extends Calendar> calendarClass, ULocale locale) throws MissingResourceException
The resource bundle name is based on the calendar's fully-specified class name, with ".resources" inserted at the end of the package name (just before the class name) and "Symbols" appended to the end. For example, the bundle corresponding to "com.ibm.icu.util.HebrewCalendar" is "com.ibm.icu.impl.data.HebrewCalendarSymbols".
Note:Because of the structural changes in the ICU locale bundle, this API no longer works as described. This method always returns null.
MissingResourceException
public static ResourceBundle getDateFormatBundle(Calendar cal, Locale locale) throws MissingResourceException
Note:Because of the structural changes in the ICU locale bundle, this API no longer works as described. This method always returns null.
MissingResourceException
getDateFormatBundle(java.lang.Class, java.util.Locale)
public static ResourceBundle getDateFormatBundle(Calendar cal, ULocale locale) throws MissingResourceException
Note:Because of the structural changes in the ICU locale bundle, this API no longer works as described. This method always returns null.
MissingResourceException
getDateFormatBundle(java.lang.Class, java.util.Locale)
public final ULocale getLocale(ULocale.Type type)
Note: This method will be implemented in ICU 3.0; ICU 2.8 contains a partial preview implementation. The * actual locale is returned correctly, but the valid locale is not, in most cases.
type
- type of information requested, either ULocale.VALID_LOCALE
or ULocale.ACTUAL_LOCALE
.
ULocale
,
ULocale.VALID_LOCALE
,
ULocale.ACTUAL_LOCALE
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |