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.
- Author:
- Chen-Lieh Huang
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Constant for width.static final int
Deprecated.This API is ICU internal only.static final int
Deprecated.This API is ICU internal only.static final int
Constant for context.static final int
Constant for width.static final int
Deprecated.This API is ICU internal only.static final int
Constant for width; only supported for weekdays.static final int
Constant for context.static final int
Constant for width. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a DateFormatSymbols object by loading format data from resources for the defaultFORMAT
locale.DateFormatSymbols
(Calendar cal, ULocale locale) Returns theDateFormatSymbols
object that should be used to format a calendar system's dates in the given locale.DateFormatSymbols
(Calendar cal, Locale locale) Returns theDateFormatSymbols
object 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.DateFormatSymbols
(Class<? extends Calendar> calendarClass, ULocale locale) Variant of DateFormatSymbols(Calendar, ULocale) that takes the Calendar class instead of a Calendar instance.DateFormatSymbols
(Class<? extends Calendar> calendarClass, Locale locale) Variant of DateFormatSymbols(Calendar, Locale) 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, ULocale locale) Fetches a custom calendar's DateFormatSymbols out of the given resource bundle.DateFormatSymbols
(ResourceBundle bundle, Locale locale) Fetches a custom calendar's DateFormatSymbols out of the given resource bundle. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Overrides clone.boolean
Overrides equals.String[]
Returns am/pm strings.static Locale[]
Returns an array of all locales for which thegetInstance
methods of this class can return localized instances.static ULocale[]
Returns an array of all locales for which thegetInstance
methods of this class can return localized instances.static ResourceBundle
getDateFormatBundle
(Calendar cal, ULocale locale) Deprecated.ICU 4.0static ResourceBundle
getDateFormatBundle
(Calendar cal, Locale locale) Deprecated.ICU 4.0static ResourceBundle
getDateFormatBundle
(Class<? extends Calendar> calendarClass, ULocale locale) Deprecated.ICU 4.0static ResourceBundle
getDateFormatBundle
(Class<? extends Calendar> calendarClass, Locale locale) Deprecated.ICU 4.0String[]
Returns full era name strings.String[]
getEras()
Returns abbreviated era strings.static DateFormatSymbols
Returns a DateFormatSymbols instance for the default locale.static DateFormatSymbols
getInstance
(ULocale locale) Returns a DateFormatSymbols instance for the given locale.static DateFormatSymbols
getInstance
(Locale locale) Returns a DateFormatSymbols instance for the given locale.getLeapMonthPattern
(int context, int width) Deprecated.This API is ICU internal only.final ULocale
getLocale
(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.int
hashCode()
Override hashCode.protected void
initializeData
(ULocale desiredLocale, com.ibm.icu.impl.ICUResourceBundle b, String calendarType) Deprecated.This API is ICU internal only.protected void
initializeData
(ULocale desiredLocale, String type) Initializes format symbols for the locale and calendar typevoid
setAmPmStrings
(String[] newAmpms) Sets am/pm strings.void
setEraNames
(String[] newEraNames) Sets full era name strings.void
Sets abbreviated era strings.void
setLeapMonthPattern
(String leapMonthPattern, int context, int width) Deprecated.This API is ICU internal only.void
setLocalPatternChars
(String newLocalPatternChars) Sets localized date-time pattern characters.void
Sets month strings.void
Sets month strings.void
setNarrowEras
(String[] newNarrowEras) Sets narrow era name strings.void
setQuarters
(String[] newQuarters, int context, int width) Sets quarter strings.void
setShortMonths
(String[] newShortMonths) Sets short month strings.void
setShortWeekdays
(String[] newAbbrevWeekdays) Sets abbreviated weekday strings; for example: "Sun", "Mon", etc.void
setTimeSeparatorString
(String newTimeSeparator) Deprecated.This API is ICU internal only.void
setWeekdays
(String[] newWeekdays) Sets wide weekday strings.void
setWeekdays
(String[] newWeekdays, int context, int width) Sets weekday strings.void
setYearNames
(String[] yearNames, int context, int width) Sets cyclic year name strings, for example: "jia-zi", "yi-chou", etc.void
setZodiacNames
(String[] zodiacNames, int context, int width) Sets calendar zodiac name strings, for example: "Rat", "Ox", "Tiger", etc.void
setZoneStrings
(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 defaultFORMAT
locale.- 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 theDateFormatSymbols
object 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 theDateFormatSymbols
object 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
Variant of DateFormatSymbols(Calendar, Locale) that takes the Calendar class instead of a Calendar instance.- See Also:
-
DateFormatSymbols
Variant of DateFormatSymbols(Calendar, ULocale) that takes the Calendar class instead of a Calendar instance.- 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:
-
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 com.ibm.icu.text.DateFormatSymbols()
. ICU does not supportDateFormatSymbolsProvider
introduced 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 com.ibm.icu.text.DateFormatSymbols(locale)
. ICU does not supportDateFormatSymbolsProvider
introduced 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 com.ibm.icu.text.DateFormatSymbols(locale)
. ICU does not supportDateFormatSymbolsProvider
introduced 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 thegetInstance
methods of this class can return localized instances. Unlikejava.text.DateFormatSymbols#getAvailableLocales
, this method simply returns the array ofLocale
s available in this class. ICU does not supportDateFormatSymbolsProvider
introduced in Java 6 or its equivalent implementation for now.- Returns:
- An array of
Locale
s for which localizedDateFormatSymbols
instances are available.
-
getAvailableULocales
Returns an array of all locales for which thegetInstance
methods of this class can return localized instances. Unlikejava.text.DateFormatSymbols#getAvailableLocales
, this method simply returns the array ofULocale
s available in this class. ICU does not supportDateFormatSymbolsProvider
introduced in Java 6 or its equivalent implementation for now.- Returns:
- An array of
ULocale
s for which localizedDateFormatSymbols
instances 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 useTimeZoneNames
APIs instead.- Returns:
- the time zone strings.
-
setZoneStrings
Sets time zone strings.Note:
SimpleDateFormat
no longer uses the zone strings stored in aDateFormatSymbols
. Therefore, the time zone strings set by this method have no effects in an instance ofSimpleDateFormat
for formatting time zones. If you want to customize time zone display names formatted bySimpleDateFormat
, you should customizeTimeZoneFormat
and 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
Overrides clone. -
hashCode
public int hashCode()Override hashCode. Generates a hash code for the DateFormatSymbols object. -
equals
Overrides equals. -
initializeData
Initializes format symbols for the locale and calendar type- Parameters:
desiredLocale
- The locale whose symbols are desired.type
- The calendar type whose date format symbols are desired.
-
initializeData
@Deprecated protected void initializeData(ULocale desiredLocale, com.ibm.icu.impl.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 "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.
- 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 "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.
- 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_LOCALE
orULocale.ACTUAL_LOCALE
.- Returns:
- the information specified by type, or null if this object was not constructed from locale data.
- See Also:
-