- 所有已实现的接口:
Serializable,Cloneable
DateFormatSymbols 是一个公共类,用于封装可本地化的日期时间格式数据,例如月份名称、星期几名称和时区数据。 SimpleDateFormat 使用 DateFormatSymbols 封装此信息。
通常你不应该直接使用 DateFormatSymbols。相反,我们鼓励您使用 DateFormat 类的工厂方法创建日期时间格式化程序:getTimeInstance、getDateInstance 或 getDateTimeInstance。这些方法会自动为格式化程序创建一个 DateFormatSymbols,因此您不必这样做。创建格式化程序后,您可以使用setPattern 方法修改其格式化模式。有关使用 DateFormat 的工厂方法创建格式化程序的更多信息,请参阅 DateFormat 。
如果您决定为特定locale创建具有特定格式模式的日期时间格式化程序,您可以这样做:
new SimpleDateFormat(aPattern, DateFormatSymbols.getInstance(aLocale)).
如果locale包含“rg”(区域覆盖)Unicode 扩展,则指定区域的符号将被覆盖。
DateFormatSymbols 对象是可克隆的。当您获得 DateFormatSymbols 对象时,可以随意修改日期时间格式数据。例如,您可以将本地化的日期时间格式模式字符替换为您觉得容易记住的字符。或者您可以将代表城市更改为您喜欢的城市。
可以添加新的 DateFormatSymbols 子类以支持 SimpleDateFormat 用于其他locale的日期时间格式。
- 自从:
- 1.1
- 参见:
-
构造方法总结
构造方法构造方法描述通过从默认FORMATlocale的资源中加载格式数据来构建 DateFormatSymbols 对象。DateFormatSymbols(Locale locale) 通过从给定locale的资源中加载格式数据来构造 DateFormatSymbols 对象。 -
方法总结
修饰符和类型方法描述clone()重写可克隆boolean重写等于String[]获取 ampm 字符串。static Locale[]返回一个包含所有locale的数组,此类的getInstance方法可以为其返回本地化实例。String[]getEras()获取纪元字符串。static final DateFormatSymbols获取默认locale的DateFormatSymbols实例。static final DateFormatSymbolsgetInstance(Locale locale) 获取指定locale的DateFormatSymbols实例。获取本地化的日期时间模式字符。String[]获取月份字符串。String[]获取短月份字符串。String[]获取短工作日字符串。String[]获取工作日字符串。String[][]获取时区字符串。inthashCode()重写哈希码。voidsetAmPmStrings(String[] newAmpms) 设置 ampm 字符串。void设置时代字符串。voidsetLocalPatternChars(String newLocalPatternChars) 设置本地化的日期时间模式字符。void设置月份字符串。voidsetShortMonths(String[] newShortMonths) 设置短月份字符串。voidsetShortWeekdays(String[] newShortWeekdays) 设置短工作日字符串。voidsetWeekdays(String[] newWeekdays) 设置工作日字符串。voidsetZoneStrings(String[][] newZoneStrings) 设置时区字符串。
-
构造方法详细信息
-
DateFormatSymbols
public DateFormatSymbols()通过从默认FORMATlocale的资源中加载格式数据来构建 DateFormatSymbols 对象。此构造函数只能为 Java 运行时环境支持的locale构造实例,而不能为已安装的DateFormatSymbolsProvider实现支持的locale构造实例。要获得完整的locale覆盖,请使用getInstance方法。这相当于调用
DateFormatSymbols(Locale.getDefault(Locale.Category.FORMAT))。- 抛出:
MissingResourceException- 如果找不到或无法加载默认locale的资源。- 参见:
-
DateFormatSymbols
通过从给定locale的资源中加载格式数据来构造 DateFormatSymbols 对象。此构造函数只能为 Java 运行时环境支持的locale构造实例,而不能为已安装的DateFormatSymbolsProvider实现支持的locale构造实例。要获得完整的locale覆盖,请使用getInstance方法。- 参数:
locale- 所需的locale- 抛出:
MissingResourceException- 如果找不到或无法加载指定locale的资源。- 参见:
-
-
方法详情
-
getAvailableLocales
返回一个包含所有locale的数组,此类的getInstance方法可以为其返回本地化实例。返回的数组表示 Java 运行时和已安装的DateFormatSymbolsProvider实现支持的locale的联合。至少,返回的数组必须包含一个等于Locale.ROOT的Locale实例和一个等于Locale.US的Locale实例。- 返回:
-
本地化
DateFormatSymbols实例可用的区域设置数组。 - 自从:
- 1.6
-
getInstance
获取默认locale的DateFormatSymbols实例。此方法提供对 Java 运行时本身支持的locale以及已安装的DateFormatSymbolsProvider实现支持的locale的DateFormatSymbols实例的访问。这相当于调用
getInstance(Locale.getDefault(Locale.Category.FORMAT))。- 返回:
-
一个
DateFormatSymbols实例。 - 自从:
- 1.6
- 参见:
-
getInstance
获取指定locale的DateFormatSymbols实例。此方法提供对 Java 运行时本身支持的locale以及已安装的DateFormatSymbolsProvider实现支持的locale的DateFormatSymbols实例的访问。- 参数:
locale- 给定的locale。- 返回:
-
一个
DateFormatSymbols实例。 - 抛出:
NullPointerException- 如果locale为空- 自从:
- 1.6
-
getEras
获取纪元字符串。例如:“AD”和“BC”。- 返回:
- 纪元弦。
-
setEras
设置时代字符串。例如:“AD”和“BC”。- 参数:
newEras- 新纪元琴弦。
-
getMonths
获取月份字符串。例如:“January”、“February”等。根据是否支持Calendar.UNDECIMBER,将返回包含 12 个或 13 个元素的数组。使用Calendar.JANUARY、Calendar.FEBRUARY等来索引结果数组。如果该语言需要不同的格式化形式和独立用法,则此方法返回格式化形式的月份名称。例如,捷克语中 1 月的首选月份名称在格式化形式中为 ledna,而在独立形式中为 leden。在这种情况下,此方法返回
"ledna"。有关详细信息,请参阅 Unicode 区域设置数据标记语言 (LDML) 规范中的日历元素。- 实现要求:
-
由于支持
Calendar.UNDECIMBER,此方法返回 13 个元素。 - 返回:
- 月份字符串。
-
setMonths
设置月份字符串。例如:“一月”、“二月”等。- 参数:
newMonths- 新的月份字符串。该数组应由Calendar.JANUARY、Calendar.FEBRUARY等索引。
-
getShortMonths
获取短月份字符串。例如:“Jan”、“Feb”等。根据是否支持Calendar.UNDECIMBER,将返回包含 12 个或 13 个元素的数组。使用Calendar.JANUARY、Calendar.FEBRUARY等来索引结果数组。如果语言需要不同的格式化形式和独立用法,则此方法返回格式化形式的短月份名称。例如,加泰罗尼亚语中 January 的首选缩写格式形式为 de gen.,而独立形式为 gen.。在这种情况下,此方法返回
"de gen."。有关详细信息,请参阅 Unicode 区域设置数据标记语言 (LDML) 规范中的日历元素。- 实现要求:
-
由于支持
Calendar.UNDECIMBER,此方法返回 13 个元素。 - 返回:
- 短月字符串。
-
setShortMonths
设置短月份字符串。例如:“一月”、“二月”等。- 参数:
newShortMonths- 新的短月份字符串。该数组应由Calendar.JANUARY、Calendar.FEBRUARY等索引。
-
getWeekdays
获取工作日字符串。例如:“星期日”、“星期一”等。- 返回:
-
工作日字符串。使用
Calendar.SUNDAY、Calendar.MONDAY等来索引结果数组。
-
setWeekdays
设置工作日字符串。例如:“星期日”、“星期一”等。- 参数:
newWeekdays- 新的工作日字符串。该数组应由Calendar.SUNDAY、Calendar.MONDAY等索引。
-
getShortWeekdays
获取短工作日字符串。例如:“星期日”、“星期一”等。- 返回:
-
短工作日字符串。使用
Calendar.SUNDAY、Calendar.MONDAY等来索引结果数组。
-
setShortWeekdays
设置短工作日字符串。例如:“星期日”、“星期一”等。- 参数:
newShortWeekdays- 新的短工作日字符串。该数组应由Calendar.SUNDAY、Calendar.MONDAY等索引。
-
getAmPmStrings
获取 ampm 字符串。例如:“上午”和“下午”。- 返回:
- 放大器弦。
-
setAmPmStrings
设置 ampm 字符串。例如:“上午”和“下午”。- 参数:
newAmpms- 新的 ampm 琴弦。
-
getZoneStrings
获取时区字符串。不鼓励使用这种方法;使用TimeZone.getDisplayName()代替。返回的值是大小为 n 乘以 m 的二维字符串数组,其中 m 至少为 5。每个 n 行都是一个条目,其中包含单个
TimeZone的本地化名称。每个这样的行包含(i范围从 0..n -1):zoneStrings[i][0]- 时区 IDzoneStrings[i][1]- 标准时间区域的长名称zoneStrings[i][2]- 标准时间区域的简称zoneStrings[i][3]- 夏令时区域的长名称zoneStrings[i][4]- 夏令时区域的简称
TimeZone类的有效 ID 之一,但不是 自定义 ID 。所有其他条目都是本地化的名称。如果区域不实施夏令时,则不应使用夏令时名称。如果已在此
DateFormatSymbols实例上调用setZoneStrings,则返回该调用提供的字符串。否则,返回的数组包含 Java 运行时和已安装的TimeZoneNameProvider实现提供的名称。- 返回:
- 时区字符串。
- 参见:
-
setZoneStrings
设置时区字符串。参数必须是大小为 n by m 的二维字符串数组,其中 m 至少为 5。每个 n 行都是一个条目,其中包含单个TimeZone的本地化名称。每个这样的行包含(i范围从 0..n -1):zoneStrings[i][0]- 时区 IDzoneStrings[i][1]- 标准时间区域的长名称zoneStrings[i][2]- 标准时间区域的简称zoneStrings[i][3]- 夏令时区域的长名称zoneStrings[i][4]- 夏令时区域的简称
TimeZone类的有效 ID 之一,但不是 自定义 ID 。所有其他条目都是本地化的名称。- 参数:
newZoneStrings- 新时区字符串。- 抛出:
IllegalArgumentException- 如果newZoneStrings中任何行的长度小于 5NullPointerException- 如果newZoneStrings为空- 参见:
-
getLocalPatternChars
获取本地化的日期时间模式字符。例如:'u'、't' 等。- 返回:
- 本地化的日期时间模式字符。
-
setLocalPatternChars
设置本地化的日期时间模式字符。例如:'u'、't' 等。- 参数:
newLocalPatternChars- 新的本地化日期时间模式字符。
-
clone
重写可克隆 -
hashCode
public int hashCode()重写哈希码。为 DateFormatSymbols 对象生成哈希码。 -
equals
重写等于
-