public class DateFormatSymbols extends Object implements Serializable, Cloneable
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 FormModifier and Type | Field and Description |
---|---|
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 |
NUMERIC
Deprecated.
This API is ICU internal only.
|
static int |
SHORT
[icu] Constant for width; only supported for weekdays.
|
static int |
STANDALONE
[icu] Constant for context.
|
static int |
WIDE
[icu] Constant for width.
|
Constructor and Description |
---|
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 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(ULocale locale)
[icu] Constructs a DateFormatSymbols object by loading format data from
resources for the given ulocale.
|
Modifier and Type | Method and Description |
---|---|
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 full era name strings.
|
String[] |
getEras()
Returns abbreviated 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.
|
String |
getLeapMonthPattern(int context,
int width)
Deprecated.
This API is ICU internal only.
|
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[] |
getNarrowEras()
[icu] Returns narrow era name strings.
|
String[] |
getQuarters(int context,
int width)
[icu] Returns quarter strings.
|
String[] |
getShortMonths()
Returns short month strings.
|
String[] |
getShortWeekdays()
Returns abbreviated weekday strings; for example: "Sun", "Mon", etc.
|
String |
getTimeSeparatorString()
Deprecated.
This API is ICU internal only.
|
String[] |
getWeekdays()
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[][] |
getZoneStrings()
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 type
|
void |
setAmPmStrings(String[] newAmpms)
Sets am/pm strings.
|
void |
setEraNames(String[] newEraNames)
[icu] Sets full era name strings.
|
void |
setEras(String[] newEras)
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 |
setMonths(String[] newMonths)
Sets month strings.
|
void |
setMonths(String[] newMonths,
int context,
int width)
Sets month strings.
|
void |
setNarrowEras(String[] newNarrowEras)
[icu] Sets narrow era name strings.
|
void |
setQuarters(String[] newQuarters,
int context,
int width)
[icu] 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.
|
public static final int FORMAT
public static final int STANDALONE
@Deprecated public static final int NUMERIC
@Deprecated 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 SHORT
@Deprecated public static final int DT_WIDTH_COUNT
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.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.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)
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[] getNarrowEras()
public void setNarrowEras(String[] newNarrowEras)
newNarrowEras
- the new narrow 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, SHORT, or NARROWCalendar.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, SHORT, 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[] newAbbrevWeekdays)
newAbbrevWeekdays
- the new abbreviated 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,
WIDE, NARROW, or ABBREVIATED.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,
WIDE, NARROW, or ABBREVIATED.public String[] getYearNames(int context, int width)
context
- The usage context: FORMAT, STANDALONE.width
- The requested name width: WIDE, ABBREVIATED, SHORT, NARROW.public void setYearNames(String[] yearNames, int context, int width)
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).public String[] getZodiacNames(int context, int width)
context
- The usage context: FORMAT, STANDALONE.width
- The requested name width: WIDE, ABBREVIATED, SHORT, NARROW.public void setZodiacNames(String[] zodiacNames, int context, int width)
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).@Deprecated public String getLeapMonthPattern(int context, int width)
context
- The usage context: FORMAT, STANDALONE, NUMERIC.width
- The requested pattern width: WIDE, ABBREVIATED, SHORT, NARROW.@Deprecated public void setLeapMonthPattern(String leapMonthPattern, int context, int width)
leapMonthPattern
- The new leapMonthPattern.context
- The usage context: FORMAT, STANDALONE, NUMERIC.width
- The name width: WIDE, ABBREVIATED, NARROW.public String[] getAmPmStrings()
public void setAmPmStrings(String[] newAmpms)
newAmpms
- the new ampm strings.@Deprecated public String getTimeSeparatorString()
@Deprecated public void setTimeSeparatorString(String newTimeSeparator)
newTimeSeparator
- the new time separator string.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 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 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()
public int hashCode()
public boolean equals(Object obj)
protected void initializeData(ULocale desiredLocale, String type)
desiredLocale
- The locale whose symbols are desired.type
- The calendar type whose date format symbols are desired.@Deprecated protected void initializeData(ULocale desiredLocale, com.ibm.icu.impl.ICUResourceBundle b, String calendarType)
desiredLocale
- The locale whose symbols are desired.b
- Resource bundle provided externallycalendarType
- The calendar type being used@Deprecated public 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
@Deprecated 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
@Deprecated 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.
@Deprecated 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.
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
Copyright © 2016 Unicode, Inc. and others.