public class DateFormatSymbols extends Object implements Serializable, Cloneable
DateFormatSymbols
是用于封装可本地化的日期时间格式化数据的公共类,例如月份的名称,星期几的名称和时区数据。
SimpleDateFormat
使用DateFormatSymbols
封装此信息。
通常你不应该直接使用DateFormatSymbols
。 相反,我们鼓励你创建一个日期-时间格式化DateFormat
类的工厂方法: getTimeInstance
, getDateInstance
,或getDateTimeInstance
。 这些方法会DateFormatSymbols
为格式化程序创建一个DateFormatSymbols
,以便您不必。 创建格式化程序后,您可以使用setPattern
方法修改其格式模式。 有关使用DateFormat
的工厂方法创建格式化程序的更多信息,请参阅DateFormat
。
如果您决定为特定区域设置创建具有特定格式模式的日期时间格式化程序,则可以使用以下命令:
new SimpleDateFormat(aPattern, DateFormatSymbols.getInstance(aLocale)).
DateFormatSymbols
对象是可克隆的。 当您获得一个DateFormatSymbols
对象时,请随时修改日期时间格式化数据。 例如,您可以将本地化的日期时间格式模式字符替换为您感到容易记住的字符。 或者您可以将代表城市更改为您最喜爱的城市。
新DateFormatSymbols
可以添加亚型支持SimpleDateFormat
日期-时间格式化为其他语言环境。
DateFormat
, SimpleDateFormat
, SimpleTimeZone
, Serialized Form
Constructor and Description |
---|
DateFormatSymbols()
通过从缺省的
FORMAT 区域设置的资源中加载格式数据构造一个DateFormatSymbols对象。
|
DateFormatSymbols(Locale locale)
通过从给定语言环境的资源加载格式数据构造DateFormatSymbols对象。
|
Modifier and Type | Method and Description |
---|---|
Object |
clone()
覆盖可克隆
|
boolean |
equals(Object obj)
覆盖等于
|
String[] |
getAmPmStrings()
获取ampm字符串。
|
static Locale[] |
getAvailableLocales()
返回所有语言环境的数组,该类的
getInstance 方法可以返回本地化实例。
|
String[] |
getEras()
获取时代字符串。
|
static DateFormatSymbols |
getInstance()
获取默认语言环境的
DateFormatSymbols 实例。
|
static DateFormatSymbols |
getInstance(Locale locale)
获取指定区域设置的
DateFormatSymbols 实例。
|
String |
getLocalPatternChars()
获取本地化的日期时间模式字符。
|
String[] |
getMonths()
获取月份字符串。
|
String[] |
getShortMonths()
获得短的月份字符串。
|
String[] |
getShortWeekdays()
获得短周日字符串。
|
String[] |
getWeekdays()
获得平日字符串。
|
String[][] |
getZoneStrings()
获取时区字符串。
|
int |
hashCode()
覆盖hashCode。
|
void |
setAmPmStrings(String[] newAmpms)
设置ampm字符串。
|
void |
setEras(String[] newEras)
设置时代字符串。
|
void |
setLocalPatternChars(String newLocalPatternChars)
设置本地化的日期时间模式字符。
|
void |
setMonths(String[] newMonths)
设置月份字符串。
|
void |
setShortMonths(String[] newShortMonths)
设置短的月份字符串。
|
void |
setShortWeekdays(String[] newShortWeekdays)
设置短周日字符串。
|
void |
setWeekdays(String[] newWeekdays)
设置工作日字符串
|
void |
setZoneStrings(String[][] newZoneStrings)
设置时区字符串。
|
public DateFormatSymbols()
FORMAT
区域设置的资源中加载格式数据构造一个DateFormatSymbols对象。
此构造方法只能构造实例由Java运行时环境的支持,而不是那些由安装支持的语言环境DateFormatSymbolsProvider
个实现。
对于完整的区域覆盖,请使用getInstance
方法。
这相当于呼叫DateFormatSymbols(Locale.getDefault(Locale.Category.FORMAT))
。
MissingResourceException
- 如果无法找到或无法加载默认语言环境的资源。
getInstance()
,
Locale.getDefault(java.util.Locale.Category)
,
Locale.Category.FORMAT
public DateFormatSymbols(Locale locale)
DateFormatSymbolsProvider
个实现。
对于完整的区域覆盖,请使用getInstance
方法。
locale
- 所需的语言环境
MissingResourceException
- 如果指定的区域设置的资源无法找到或无法加载。
getInstance(Locale)
public static Locale[] getAvailableLocales()
getInstance
方法可以返回本地化实例。
返回的数组表示由Java运行时支持的语言环境以及DateFormatSymbolsProvider
实现的联合。
它必须包含至少一个Locale
实例等于Locale.US
。
DateFormatSymbols
实例可用。
public static final DateFormatSymbols getInstance()
DateFormatSymbols
实例。
这种方法提供了访问DateFormatSymbols
实例由Java运行时本身以及为那些安装支持的语言环境DateFormatSymbolsProvider
个实现。
这相当于呼叫getInstance(Locale.getDefault(Locale.Category.FORMAT))
。
DateFormatSymbols
实例。
Locale.getDefault(java.util.Locale.Category)
,
Locale.Category.FORMAT
public static final DateFormatSymbols getInstance(Locale locale)
DateFormatSymbols
实例。
这种方法提供了访问DateFormatSymbols
实例由Java运行时本身以及为那些安装支持的语言环境DateFormatSymbolsProvider
个实现。
locale
- 给定的区域设置。
DateFormatSymbols
实例。
NullPointerException
- 如果
locale
为空
public String[] getEras()
public void setEras(String[] newEras)
newEras
- 新时代弦。
public String[] getMonths()
如果语言需要格式化和独立使用的不同格式,则此方法将以格式化形式返回月份名称。 例如,在捷克语言一月的首选月份名称是在格式化形式ledna,而它在单机形式LEDEN。 在这种情况下,此方法返回"ledna"
。 有关详细信息,请参阅Calendar Elements in the Unicode Locale Data Markup Language (LDML) specification 。
public void setMonths(String[] newMonths)
newMonths
- 新的月份字符串。
public String[] getShortMonths()
如果语言需要格式化和独立使用的不同格式,则此方法将以格式化形式返回较短的月份名称。 例如,加泰罗尼亚语中1月份的首选缩写是de gen。 在格式化形式,而它是gen。 在独立的形式。 在这种情况下,此方法返回"de gen."
。 有关详细信息,请参阅Calendar Elements in the Unicode Locale Data Markup Language (LDML) specification 。
public void setShortMonths(String[] newShortMonths)
newShortMonths
- 新的短的月份字符串。
public String[] getWeekdays()
Calendar.SUNDAY
, Calendar.MONDAY
等,以索引的结果阵列。
public void setWeekdays(String[] newWeekdays)
newWeekdays
- 新的工作日字符串。
阵列应被索引Calendar.SUNDAY
, Calendar.MONDAY
,等
public String[] getShortWeekdays()
Calendar.SUNDAY
, Calendar.MONDAY
等,以索引的结果阵列。
public void setShortWeekdays(String[] newShortWeekdays)
newShortWeekdays
- 新的短周日字符串。
阵列应被索引Calendar.SUNDAY
, Calendar.MONDAY
,等
public String[] getAmPmStrings()
public void setAmPmStrings(String[] newAmpms)
newAmpms
- 新的ampm字符串。
public String[][] getZoneStrings()
TimeZone.getDisplayName()
。
返回的值是m,其中m是至少为5。每个n行的是包含本地化的名称为单一的条目大小为n的串的二维阵列TimeZone
。 每一行都包含( i
范围从0 .. n -1):
zoneStrings[i][0]
- 时区ID zoneStrings[i][1]
- 标准时间的长名称 zoneStrings[i][2]
- 标准时间区域的短名称 zoneStrings[i][3]
- 夏令时区域的长名称 zoneStrings[i][4]
- 夏令时区域的短名称 TimeZone
类的有效ID,不是custom IDs 。
所有其他条目都是本地化名称。
如果某个区域未实现夏令时,则不应使用夏令时名称。
如果setZoneStrings
已经呼吁该DateFormatSymbols
实例,然后通过调用提供的字符串返回。 否则,返回的数组包含由Java运行时提供的名称和安装的TimeZoneNameProvider
实现。
setZoneStrings(String[][])
public void setZoneStrings(String[][] newZoneStrings)
TimeZone
。
每行包含( i
范围从0 .. n -1):
zoneStrings[i][0]
- 时zoneStrings[i][0]
zoneStrings[i][1]
- 标准时间的长名称 zoneStrings[i][2]
- 标准时间区域的短名称 zoneStrings[i][3]
- 夏令时区域的长名称 zoneStrings[i][4]
- 夏令时区域的短名称 TimeZone
类的有效ID之一,不是custom IDs 。
所有其他条目都是本地化名称。
newZoneStrings
- 新的时区字符串。
IllegalArgumentException
-如果在任何行的长度
newZoneStrings
小于5
NullPointerException
- 如果
newZoneStrings
为空
getZoneStrings()
public String getLocalPatternChars()
public void setLocalPatternChars(String newLocalPatternChars)
newLocalPatternChars
- 新的本地化日期时间模式字符。
public int hashCode()
hashCode
在类别
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
equals
在类别
Object
obj
- 与之比较的参考对象。
true
如果该对象与obj参数相同;
false
否则。
Object.hashCode()
, HashMap