java.text

接口
异常
java.lang.Object
  继承者 java.text.DateFormatSymbols
所有已实现的接口:
Serializable, Cloneable

public class DateFormatSymbols
     
extends Object
implements Serializable, Cloneable

DateFormatSymbols 是一个公共类,用于封装可本地化的日期-时间格式化数据,如月名、星期几的名称和时区数据。DateFormatSimpleDateFormat 都使用 DateFormatSymbols 封装此信息。

通常不应直接使用 DateFormatSymbols。建议最好使用 DateFormat 类的工厂方法创建日期-时间格式器 (formatter):getTimeInstancegetDateInstancegetDateTimeInstance。这些方法自动为格式器创建一个 DateFormatSymbols,所以用户就不必再创建了。创建了格式器后,可使用 setPattern 方法修改它的格式模式。有关使用 DateFormat 的工厂方法创建格式器的更多信息,请参阅 DateFormat

如果要为特定语言环境创建具有特定格式模式的日期-时间格式器,可使用以下语句实现:

 new SimpleDateFormat(aPattern, DateFormatSymbols.getInstance(aLocale)).
 

DateFormatSymbols 对象是可复制的。获得一个 DateFormatSymbols 对象后,可随意修改日期-时间格式化数据。例如,可以使用便于记忆的字符替换本地化的日期-时间格式模式字符。也可以将有代表性的城市更改为最喜欢的城市。

要为其他语言环境进行日期-时间格式化,可添加新的 DateFormatSymbols 子类以支持 SimpleDateFormat

另请参见:
DateFormat, SimpleDateFormat, SimpleTimeZone, 序列化表格

构造方法摘要
DateFormatSymbols()
          通过从默认语言环境资源加载格式数据,构造一个 DateFormatSymbols 对象。
DateFormatSymbols(Locale locale)
          通过从给定语言环境资源加载格式数据,构造一个 DateFormatSymbols 对象。
 
方法摘要
 Object clone()
          重写 Cloneable。
 boolean equals(Object obj)
          重写 equals。
 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)
          设置时区字符串。
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

DateFormatSymbols

public DateFormatSymbols()
通过从默认语言环境资源加载格式数据,构造一个 DateFormatSymbols 对象。此构造方法只能构造 Java 运行时环境所支持的语言环境实例,不能构造已安装的 DateFormatSymbolsProvider 实现所支持的语言环境实例。要覆盖所有的语言环境,可使用 getInstance 方法。

抛出:
MissingResourceException - 如果无法找到或加载默认语言环境的资源。
另请参见:
getInstance()

DateFormatSymbols

public DateFormatSymbols(Locale locale)
通过从给定语言环境资源加载格式数据,构造一个 DateFormatSymbols 对象。此构造方法只能构造 Java 运行时环境所支持的语言环境实例,不能构造已安装的 DateFormatSymbolsProvider 实现所支持的语言环境实例。要覆盖所有的语言环境,可使用 getInstance 方法。

抛出:
MissingResourceException - 如果无法找到或加载指定语言环境的资源。
另请参见:
getInstance(Locale)
方法详细信息

getAvailableLocales

public static Locale[] getAvailableLocales()
返回一个数组,它由此类的 getInstance 方法可为之返回本地化实例的所有语言环境组成。返回的数组表示 Java 运行时所支持的语言环境和已安装的 DateFormatSymbolsProvider 实现所支持的语言环境的并集。 它至少必须包含一个等于 Locale.USLocale 实例。

返回:
一个语言环境数组,可获取这些语言环境的本地化 DateFormatSymbols 实例。
从以下版本开始:
1.6

getInstance

public static final DateFormatSymbols getInstance()
获取默认语言环境的 DateFormatSymbols 实例。此方法可访问 Java 运行时本身以及已安装 DateFormatSymbolsProvider 实现所支持的语言环境的 DateFormatSymbols 实例。

返回:
一个 DateFormatSymbols 实例。
从以下版本开始:
1.6

getInstance

public static final DateFormatSymbols getInstance(Locale locale)
获取指定语言环境的 DateFormatSymbols 实例。此方法可访问 Java 运行时本身以及已安装 DateFormatSymbolsProvider 实现所支持的语言环境的 DateFormatSymbols 实例。

参数:
给定的语言环境 -
返回:
一个 DateFormatSymbols 实例。
抛出:
如果 - locale 为 null
从以下版本开始:
1.6

getEras

public String[] getEras()
获取年代字符串。例如:"AD" 和 "BC"。

返回:
年代字符串。

setEras

public void setEras(String[] newEras)
设置年代字符串。例如:"AD" 和 "BC"。

参数:
newEras - 新的年代字符串。

getMonths

public String[] getMonths()
获取月份字符串。例如:"January"、"February" 等等。

返回:
月份字符串。

setMonths

public void setMonths(String[] newMonths)
设置月份字符串。例如:"January"、"February" 等等。

参数:
newMonths - 新的月份字符串。

getShortMonths

public String[] getShortMonths()
获取简短形式的月份字符串。例如:"Jan"、"Feb" 等等。

返回:
简短形式的月份字符串。

setShortMonths

public void setShortMonths(String[] newShortMonths)
设置简短形式的月份字符串。例如:"Jan"、"Feb" 等等

参数:
newShortMonths - 新的简写形式的月份字符串。

getWeekdays

public String[] getWeekdays()
获取星期字符串。例如:"Sunday"、"Monday" 等等。

返回:
星期字符串。使用 Calendar.SUNDAYCalendar.MONDAY 等指出所得数组。

setWeekdays

public void setWeekdays(String[] newWeekdays)
设置星期字符串。例如:"Sunday"、"Monday" 等等。

参数:
newWeekdays - 新的星期字符串。应该通过 Calendar.SUNDAYCalendar.MONDAY 等指出该数组。

getShortWeekdays

public String[] getShortWeekdays()
获取简短形式的星期字符串。例如:"Sun"、"Mon" 等等。

返回:
简短形式的星期字符串。使用 Calendar.SUNDAYCalendar.MONDAY 等指出所得数组。

setShortWeekdays

public void setShortWeekdays(String[] newShortWeekdays)
设置简短形式的星期字符串。例如:"Sun"、"Mon" 等等。

参数:
newShortWeekdays - 新的简短形式星期字符串。应该通过 Calendar.SUNDAYCalendar.MONDAY 等指出该数组。

getAmPmStrings

public String[] getAmPmStrings()
获取 ampm 字符串。例如:"AM" 和 "PM"。

返回:
ampm 字符串。

setAmPmStrings

public void setAmPmStrings(String[] newAmpms)
设置 ampm 字符串。例如:"AM" 和 "PM"。

参数:
newAmpms - 新的 ampm 字符串。

getZoneStrings

public String[][] getZoneStrings()
获取时区字符串。不建议使用此方法;可以使用 TimeZone.getDisplayName() 替代。

返回值是一个二维字符串数字,其大小为 n × m,其中 m 至少为 5。每个 n 行都是一个包含单个 TimeZone 本地化名称的条目。每个这样的行包含(i 的范围从 0 到 n-1):

  • zoneStrings[i][0] - 时区 ID
  • zoneStrings[i][1] - 标准时时区的长名称
  • zoneStrings[i][2] - 标准时时区的短名称
  • zoneStrings[i][3] - 夏令时时区的长名称
  • zoneStrings[i][4] - 夏令时时区的短名称
时区 ID 没有 被本地化;它是 TimeZone 类的有效 ID 之一,但不是 自定义 ID。其他所有条目都是本地化名称。如果某个时区没有实现夏令时,则不能使用夏令时名称。

如果没有在此 DateFormatSymbols 实例上调用 setZoneStrings,则返回该调用提供的字符串。否则,返回的数组包含 Java 运行时和已安装的 TimeZoneNameProvider 实现所提供的名称。

返回:
时区字符串。
另请参见:
setZoneStrings(String[][])

setZoneStrings

public void setZoneStrings(String[][] newZoneStrings)
设置时区字符串。该参数必须是一个二维字符串数组,其大小为 n × m,其中 m 至少为 5。每个 n 行都是一个包含单个 TimeZone 本地化名称的条目。每个这样的行包含( i 的范围从 0 到 n-1):
  • zoneStrings[i][0] - 时区 ID
  • zoneStrings[i][1] - 标准时时区的长名称
  • zoneStrings[i][2] - 标准时时区的短名称
  • zoneStrings[i][3] - 夏令时时区的长名称
  • zoneStrings[i][4] - 夏令时时区的短名称
时区 ID 没有 被本地化;它是 TimeZone 类的有效 ID 之一,但不是 自定义 ID。其他所有条目都是本地化名称。

参数:
newZoneStrings - 新的时区字符串。
抛出:
IllegalArgumentException - 如果 newZoneStrings 中任何行的长度小于 5
NullPointerException - 如果 newZoneStrings 为 null
另请参见:
getZoneStrings()

getLocalPatternChars

public String getLocalPatternChars()
获取本地化的日期-时间模式字符。例如:'u'、't' 等等。

返回:
本地化的日期-时间模式字符。

setLocalPatternChars

public void setLocalPatternChars(String newLocalPatternChars)
设置本地化的日期-时间模式字符。例如:'u'、't' 等等。

参数:
newLocalPatternChars - 新的本地化的日期-时间模式字符。

clone

public Object clone()
重写 Cloneable。

覆盖:
Object 中的 clone
返回:
此实例的一个副本。
另请参见:
Cloneable

hashCode

public int hashCode()
重写 hashCode。生成 DateFormatSymbols 对象的哈希码。

覆盖:
Object 中的 hashCode
返回:
此对象的一个哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
重写 equals。

覆盖:
Object 中的 equals
参数:
obj - 要与之比较的引用对象。
返回:
如果此对象与 obj 参数相同,则返回 true;否则返回 false
另请参见:
Object.hashCode(), Hashtable