Class DateFormatSymbols
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
ChineseDateFormatSymbols
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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intConstant for width.static final intDeprecated.This API is ICU internal only.static final intDeprecated.This API is ICU internal only.static final intConstant for context.static final intConstant for width.static final intDeprecated.This API is ICU internal only.static final intConstant for width; only supported for weekdays.static final intConstant for context.static final intConstant for width. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a DateFormatSymbols object by loading format data from resources for the defaultFORMATlocale.DateFormatSymbols(Class<? extends Calendar> calendarClass, Locale locale) Variant of DateFormatSymbols(Calendar, Locale) that takes the Calendar class instead of a Calendar instance.DateFormatSymbols(Class<? extends Calendar> calendarClass, ULocale locale) Variant of DateFormatSymbols(Calendar, ULocale) that takes the Calendar class instead of a Calendar 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(Calendar cal, Locale locale) Returns theDateFormatSymbolsobject that should be used to format a calendar system's dates in the given locale.DateFormatSymbols(Calendar cal, ULocale locale) Returns theDateFormatSymbolsobject that should be used to format a calendar system's dates in the given locale.DateFormatSymbols(ULocale locale) Constructs a DateFormatSymbols object by loading format data from resources for the given ulocale. -
Method Summary
Modifier and TypeMethodDescriptionclone()Overrides clone.booleanOverrides equals.String[]Returns am/pm strings.static Locale[]Returns an array of all locales for which thegetInstancemethods of this class can return localized instances.static ULocale[]Returns an array of all locales for which thegetInstancemethods of this class can return localized instances.static ResourceBundlegetDateFormatBundle(Class<? extends Calendar> calendarClass, Locale locale) Deprecated.ICU 4.0static ResourceBundlegetDateFormatBundle(Class<? extends Calendar> calendarClass, ULocale locale) Deprecated.ICU 4.0static ResourceBundlegetDateFormatBundle(Calendar cal, Locale locale) Deprecated.ICU 4.0static ResourceBundlegetDateFormatBundle(Calendar cal, ULocale locale) Deprecated.ICU 4.0String[]Returns full era name strings.String[]getEras()Returns abbreviated era strings.static DateFormatSymbolsReturns a DateFormatSymbols instance for the default locale.static DateFormatSymbolsgetInstance(Locale locale) Returns a DateFormatSymbols instance for the given locale.static DateFormatSymbolsgetInstance(ULocale locale) Returns a DateFormatSymbols instance for the given locale.getLeapMonthPattern(int context, int width) Deprecated.This API is ICU internal only.final ULocalegetLocale(ULocale.Type type) Returns the locale that was used to create this object, or null.Returns localized date-time pattern characters.String[]Returns month strings.String[]getMonths(int context, int width) Returns month strings.String[]Returns narrow era name strings.String[]getQuarters(int context, int width) Returns quarter strings.String[]Returns short month strings.String[]Returns abbreviated weekday strings; for example: "Sun", "Mon", etc.Deprecated.This API is ICU internal only.String[]Returns wide weekday strings.String[]getWeekdays(int context, int width) Returns weekday strings.String[]getYearNames(int context, int width) Returns cyclic year name strings if the calendar has them, for example: "jia-zi", "yi-chou", etc.String[]getZodiacNames(int context, int width) Returns calendar zodiac name strings if the calendar has them, for example: "Rat", "Ox", "Tiger", etc.String[][]Returns time zone strings.inthashCode()Override hashCode.protected voidinitializeData(ULocale desiredLocale, String type) Initializes format symbols for the locale and calendar typeprotected voidinitializeData(ULocale desiredLocale, ICUResourceBundle b, String calendarType) Deprecated.This API is ICU internal only.voidsetAmPmStrings(String[] newAmpms) Sets am/pm strings.voidsetEraNames(String[] newEraNames) Sets full era name strings.voidSets abbreviated era strings.voidsetLeapMonthPattern(String leapMonthPattern, int context, int width) Deprecated.This API is ICU internal only.voidsetLocalPatternChars(String newLocalPatternChars) Sets localized date-time pattern characters.voidSets month strings.voidSets month strings.voidsetNarrowEras(String[] newNarrowEras) Sets narrow era name strings.voidsetQuarters(String[] newQuarters, int context, int width) Sets quarter strings.voidsetShortMonths(String[] newShortMonths) Sets short month strings.voidsetShortWeekdays(String[] newAbbrevWeekdays) Sets abbreviated weekday strings; for example: "Sun", "Mon", etc.voidsetTimeSeparatorString(String newTimeSeparator) Deprecated.This API is ICU internal only.voidsetWeekdays(String[] newWeekdays) Sets wide weekday strings.voidsetWeekdays(String[] newWeekdays, int context, int width) Sets weekday strings.voidsetYearNames(String[] yearNames, int context, int width) Sets cyclic year name strings, for example: "jia-zi", "yi-chou", etc.voidsetZodiacNames(String[] zodiacNames, int context, int width) Sets calendar zodiac name strings, for example: "Rat", "Ox", "Tiger", etc.voidsetZoneStrings(String[][] newZoneStrings) Sets time zone strings.
-
Field Details
-
FORMAT
public static final int FORMATConstant for context.- See Also:
-
STANDALONE
public static final int STANDALONEConstant for context.- See Also:
-
NUMERIC
Deprecated.This API is ICU internal only.Constant for context. NUMERIC context is only supported for leapMonthPatterns.- See Also:
-
DT_CONTEXT_COUNT
Deprecated.This API is ICU internal only.Constant for context.- See Also:
-
ABBREVIATED
public static final int ABBREVIATEDConstant for width.- See Also:
-
WIDE
public static final int WIDEConstant for width.- See Also:
-
NARROW
public static final int NARROWConstant for width.- See Also:
-
SHORT
public static final int SHORTConstant for width; only supported for weekdays.- See Also:
-
DT_WIDTH_COUNT
Deprecated.This API is ICU internal only.Constant for width.- See Also:
-
-
Constructor Details
-
DateFormatSymbols
public DateFormatSymbols()Constructs a DateFormatSymbols object by loading format data from resources for the defaultFORMATlocale.- Throws:
MissingResourceException- if the resources for the default locale cannot be found or cannot be loaded.- See Also:
-
DateFormatSymbols
Constructs a DateFormatSymbols object by loading format data from resources for the given locale.- Throws:
MissingResourceException- if the resources for the specified locale cannot be found or cannot be loaded.
-
DateFormatSymbols
Constructs a DateFormatSymbols object by loading format data from resources for the given ulocale.- Throws:
MissingResourceException- if the resources for the specified locale cannot be found or cannot be loaded.
-
DateFormatSymbols
Returns theDateFormatSymbolsobject that should be used to format a calendar system's dates in the given locale.- Parameters:
cal- The calendar system whose date format symbols are desired.locale- The locale whose symbols are desired.- See Also:
-
DateFormatSymbols
Returns theDateFormatSymbolsobject that should be used to format a calendar system's dates in the given locale.- Parameters:
cal- The calendar system whose date format symbols are desired.locale- The ulocale whose symbols are desired.- See Also:
-
DateFormatSymbols
-
DateFormatSymbols
-
DateFormatSymbols
Fetches a custom calendar's DateFormatSymbols out of the given resource bundle. Symbols that are not overridden are inherited from the default DateFormatSymbols for the locale.- See Also:
-
DateFormatSymbols
Fetches a custom calendar's DateFormatSymbols out of the given resource bundle. Symbols that are not overridden are inherited from the default DateFormatSymbols for the locale.- See Also:
-
-
Method Details
-
getInstance
Returns a DateFormatSymbols instance for the default locale. Unlikejava.text.DateFormatSymbols#getInstance, this method simply returnsnew org.graalvm.shadowed.com.ibm.icu.text.DateFormatSymbols(). ICU does not supportDateFormatSymbolsProviderintroduced in Java 6 or its equivalent implementation for now.- Returns:
- A DateFormatSymbols instance.
-
getInstance
Returns a DateFormatSymbols instance for the given locale. Unlikejava.text.DateFormatSymbols#getInstance, this method simply returnsnew org.graalvm.shadowed.com.ibm.icu.text.DateFormatSymbols(locale). ICU does not supportDateFormatSymbolsProviderintroduced in Java 6 or its equivalent implementation for now.- Parameters:
locale- the locale.- Returns:
- A DateFormatSymbols instance.
-
getInstance
Returns a DateFormatSymbols instance for the given locale. Unlikejava.text.DateFormatSymbols#getInstance, this method simply returnsnew org.graalvm.shadowed.com.ibm.icu.text.DateFormatSymbols(locale). ICU does not supportDateFormatSymbolsProviderintroduced in Java 6 or its equivalent implementation for now.- Parameters:
locale- the locale.- Returns:
- A DateFormatSymbols instance.
-
getAvailableLocales
Returns an array of all locales for which thegetInstancemethods of this class can return localized instances. Unlikejava.text.DateFormatSymbols#getAvailableLocales, this method simply returns the array ofLocales available in this class. ICU does not supportDateFormatSymbolsProviderintroduced in Java 6 or its equivalent implementation for now.- Returns:
- An array of
Locales for which localizedDateFormatSymbolsinstances are available.
-
getAvailableULocales
Returns an array of all locales for which thegetInstancemethods of this class can return localized instances. Unlikejava.text.DateFormatSymbols#getAvailableLocales, this method simply returns the array ofULocales available in this class. ICU does not supportDateFormatSymbolsProviderintroduced in Java 6 or its equivalent implementation for now.- Returns:
- An array of
ULocales for which localizedDateFormatSymbolsinstances are available.
-
getEras
Returns abbreviated era strings. For example: "AD" and "BC".- Returns:
- the era strings.
-
setEras
Sets abbreviated era strings. For example: "AD" and "BC".- Parameters:
newEras- the new era strings.
-
getEraNames
Returns full era name strings. For example: "Anno Domini" and "Before Christ".- Returns:
- the era strings.
-
setEraNames
Sets full era name strings. For example: "Anno Domini" and "Before Christ".- Parameters:
newEraNames- the new era strings.
-
getNarrowEras
Returns narrow era name strings. For example: "A" and "B".- Returns:
- the narrow era strings.
-
setNarrowEras
Sets narrow era name strings. For example: "A" and "B".- Parameters:
newNarrowEras- the new narrow era strings.
-
getMonths
Returns month strings. For example: "January", "February", etc.- Returns:
- the month strings.
-
getMonths
Returns month strings. For example: "January", "February", etc.- Parameters:
context- The month context, FORMAT or STANDALONE.width- The width or the returned month string, either WIDE, ABBREVIATED, or NARROW.- Returns:
- the month strings.
-
setMonths
Sets month strings. For example: "January", "February", etc.- Parameters:
newMonths- the new month strings.
-
setMonths
Sets month strings. For example: "January", "February", etc.- Parameters:
newMonths- the new month strings.context- The formatting context, FORMAT or STANDALONE.width- The width of the month string, either WIDE, ABBREVIATED, or NARROW.
-
getShortMonths
Returns short month strings. For example: "Jan", "Feb", etc.- Returns:
- the short month strings.
-
setShortMonths
Sets short month strings. For example: "Jan", "Feb", etc.- Parameters:
newShortMonths- the new short month strings.
-
getWeekdays
Returns wide weekday strings. For example: "Sunday", "Monday", etc.- Returns:
- the weekday strings. Use
Calendar.SUNDAY,Calendar.MONDAY, etc. to index the result array.
-
getWeekdays
Returns weekday strings. For example: "Sunday", "Monday", etc.- Parameters:
context- Formatting context, either FORMAT or STANDALONE.width- Width of strings to be returned, either WIDE, ABBREVIATED, SHORT, or NARROW- Returns:
- the weekday strings. Use
Calendar.SUNDAY,Calendar.MONDAY, etc. to index the result array.
-
setWeekdays
Sets weekday strings. For example: "Sunday", "Monday", etc.- Parameters:
newWeekdays- The new weekday strings.context- The formatting context, FORMAT or STANDALONE.width- The width of the strings, either WIDE, ABBREVIATED, SHORT, or NARROW.
-
setWeekdays
Sets wide weekday strings. For example: "Sunday", "Monday", etc.- Parameters:
newWeekdays- the new weekday strings. The array should be indexed byCalendar.SUNDAY,Calendar.MONDAY, etc.
-
getShortWeekdays
Returns abbreviated weekday strings; for example: "Sun", "Mon", etc. (Note: the method name is misleading; it does not get the CLDR-style "short" weekday strings, e.g. "Su", "Mo", etc.)- Returns:
- the abbreviated weekday strings. Use
Calendar.SUNDAY,Calendar.MONDAY, etc. to index the result array.
-
setShortWeekdays
Sets abbreviated weekday strings; for example: "Sun", "Mon", etc. (Note: the method name is misleading; it does not set the CLDR-style "short" weekday strings, e.g. "Su", "Mo", etc.)- Parameters:
newAbbrevWeekdays- the new abbreviated weekday strings. The array should be indexed byCalendar.SUNDAY,Calendar.MONDAY, etc.
-
getQuarters
Returns quarter strings. For example: "1st Quarter", "2nd Quarter", etc.- Parameters:
context- The quarter context, FORMAT or STANDALONE.width- The width or the returned quarter string, WIDE, NARROW, or ABBREVIATED.- Returns:
- the quarter strings.
-
setQuarters
Sets quarter strings. For example: "1st Quarter", "2nd Quarter", etc.- Parameters:
newQuarters- the new quarter strings.context- The formatting context, FORMAT or STANDALONE.width- The width of the quarter string, WIDE, NARROW, or ABBREVIATED.
-
getYearNames
Returns cyclic year name strings if the calendar has them, for example: "jia-zi", "yi-chou", etc.- Parameters:
context- The usage context: FORMAT, STANDALONE.width- The requested name width: WIDE, ABBREVIATED, SHORT, NARROW.- Returns:
- The year name strings, or null if they are not available for this calendar.
-
setYearNames
Sets cyclic year name strings, for example: "jia-zi", "yi-chou", etc.- Parameters:
yearNames- The new cyclic year name strings.context- The usage context: FORMAT, STANDALONE (currently only FORMAT is supported).width- The name width: WIDE, ABBREVIATED, NARROW (currently only ABBREVIATED is supported).
-
getZodiacNames
Returns calendar zodiac name strings if the calendar has them, for example: "Rat", "Ox", "Tiger", etc.- Parameters:
context- The usage context: FORMAT, STANDALONE.width- The requested name width: WIDE, ABBREVIATED, SHORT, NARROW.- Returns:
- The zodiac name strings, or null if they are not available for this calendar.
-
setZodiacNames
Sets calendar zodiac name strings, for example: "Rat", "Ox", "Tiger", etc.- Parameters:
zodiacNames- The new zodiac name strings.context- The usage context: FORMAT, STANDALONE (currently only FORMAT is supported).width- The name width: WIDE, ABBREVIATED, NARROW (currently only ABBREVIATED is supported).
-
getLeapMonthPattern
Deprecated.This API is ICU internal only.Returns the appropriate leapMonthPattern if the calendar has them, for example: "{0}bis"- Parameters:
context- The usage context: FORMAT, STANDALONE, NUMERIC.width- The requested pattern width: WIDE, ABBREVIATED, SHORT, NARROW.- Returns:
- The leapMonthPattern, or null if not available for this calendar.
-
setLeapMonthPattern
Deprecated.This API is ICU internal only.Sets a leapMonthPattern, for example: "{0}bis"- Parameters:
leapMonthPattern- The new leapMonthPattern.context- The usage context: FORMAT, STANDALONE, NUMERIC.width- The name width: WIDE, ABBREVIATED, NARROW.
-
getAmPmStrings
Returns am/pm strings. For example: "AM" and "PM".- Returns:
- the weekday strings.
-
setAmPmStrings
Sets am/pm strings. For example: "AM" and "PM".- Parameters:
newAmpms- the new ampm strings.
-
getTimeSeparatorString
Deprecated.This API is ICU internal only.Returns the time separator string. For example: ":".- Returns:
- the time separator string.
-
setTimeSeparatorString
Deprecated.This API is ICU internal only.Sets the time separator string. For example: ":".- Parameters:
newTimeSeparator- the new time separator string.
-
getZoneStrings
Returns time zone strings.The array returned by this API is a two dimensional String array and each row contains at least following strings:
- ZoneStrings[n][0] - System time zone ID
- ZoneStrings[n][1] - Long standard time display name
- ZoneStrings[n][2] - Short standard time display name
- ZoneStrings[n][3] - Long daylight saving time display name
- ZoneStrings[n][4] - Short daylight saving time display name
null.Note: ICU implements the 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 types of names not available in
DateFormatSymbols.getZoneStrings(). For accessing the full set of time zone string data used by ICU implementation, you should useTimeZoneNamesAPIs instead.- Returns:
- the time zone strings.
-
setZoneStrings
Sets time zone strings.Note:
SimpleDateFormatno longer uses the zone strings stored in aDateFormatSymbols. Therefore, the time zone strings set by this method have no effects in an instance ofSimpleDateFormatfor formatting time zones. If you want to customize time zone display names formatted bySimpleDateFormat, you should customizeTimeZoneFormatand set the instance bySimpleDateFormat.setTimeZoneFormat(TimeZoneFormat)instead.- Parameters:
newZoneStrings- the new time zone strings.
-
getLocalPatternChars
Returns localized date-time pattern characters. For example: 'u', 't', etc.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.
- Returns:
- the localized date-time pattern characters.
-
setLocalPatternChars
Sets localized date-time pattern characters. For example: 'u', 't', etc.- Parameters:
newLocalPatternChars- the new localized date-time pattern characters.
-
clone
-
hashCode
-
equals
-
initializeData
-
initializeData
@Deprecated protected void initializeData(ULocale desiredLocale, ICUResourceBundle b, String calendarType) Deprecated.This API is ICU internal only.Initializes format symbols for the locale and calendar type- Parameters:
desiredLocale- The locale whose symbols are desired.b- Resource bundle provided externallycalendarType- The calendar type being used
-
getDateFormatBundle
@Deprecated public static ResourceBundle getDateFormatBundle(Class<? extends Calendar> calendarClass, Locale locale) throws MissingResourceException Deprecated.ICU 4.0Finds the ResourceBundle containing the date format information for a specified calendar subclass in a given locale.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 "org.graalvm.shadowed.com.ibm.icu.util.HebrewCalendar" is "org.graalvm.shadowed.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.
- Throws:
MissingResourceException
-
getDateFormatBundle
@Deprecated public static ResourceBundle getDateFormatBundle(Class<? extends Calendar> calendarClass, ULocale locale) throws MissingResourceException Deprecated.ICU 4.0Finds the ResourceBundle containing the date format information for a specified calendar subclass in a given locale.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 "org.graalvm.shadowed.com.ibm.icu.util.HebrewCalendar" is "org.graalvm.shadowed.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.
- Throws:
MissingResourceException
-
getDateFormatBundle
@Deprecated public static ResourceBundle getDateFormatBundle(Calendar cal, Locale locale) throws MissingResourceException Deprecated.ICU 4.0Variant of getDateFormatBundle(java.lang.Class, java.util.Locale) that takes a Calendar instance instead of a Calendar class.Note:Because of the structural changes in the ICU locale bundle, this API no longer works as described. This method always returns null.
- Throws:
MissingResourceException- See Also:
-
getDateFormatBundle
@Deprecated public static ResourceBundle getDateFormatBundle(Calendar cal, ULocale locale) throws MissingResourceException Deprecated.ICU 4.0Variant of getDateFormatBundle(java.lang.Class, java.util.Locale) that takes a Calendar instance instead of a Calendar class.Note:Because of the structural changes in the ICU locale bundle, this API no longer works as described. This method always returns null.
- Throws:
MissingResourceException- See Also:
-
getLocale
Returns the locale that was used to create this object, or null. This may may differ from the locale requested at the time of this object's creation. For example, if an object is created for locale en_US_CALIFORNIA, the actual data may be drawn from en (the actual locale), and en_US may be the most specific locale that exists (the valid locale).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.
- Parameters:
type- type of information requested, eitherULocale.VALID_LOCALEorULocale.ACTUAL_LOCALE.- Returns:
- the information specified by type, or null if this object was not constructed from locale data.
- See Also:
-