模块 java.base
 java.text

类 DateFormatSymbols

java.lang.Object
java.text.DateFormatSymbols
所有已实现的接口:
Serializable , Cloneable

public class DateFormatSymbols extends Object implements Serializable , Cloneable
DateFormatSymbols 是一个公共类,用于封装可本地化的日期时间格式数据,例如月份名称、星期几名称和时区数据。 SimpleDateFormat 使用 DateFormatSymbols 封装此信息。

通常你不应该直接使用 DateFormatSymbols。相反,我们鼓励您使用 DateFormat 类的工厂方法创建日期时间格式化程序:getTimeInstancegetDateInstancegetDateTimeInstance。这些方法会自动为格式化程序创建一个 DateFormatSymbols,因此您不必这样做。创建格式化程序后,您可以使用setPattern 方法修改其格式化模式。有关使用 DateFormat 的工厂方法创建格式化程序的更多信息,请参阅 DateFormat

如果您决定为特定locale创建具有特定格式模式的日期时间格式化程序,您可以这样做:

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

如果locale包含“rg”(区域覆盖)Unicode 扩展,则指定区域的符号将被覆盖。

DateFormatSymbols 对象是可克隆的。当您获得 DateFormatSymbols 对象时,可以随意修改日期时间格式数据。例如,您可以将本地化的日期时间格式模式字符替换为您觉得容易记住的字符。或者您可以将代表城市更改为您喜欢的城市。

可以添加新的 DateFormatSymbols 子类以支持 SimpleDateFormat 用于其他locale的日期时间格式。

自从:
1.1
参见:
  • 构造方法详细信息

  • 方法详情

    • getAvailableLocales

      public static Locale [] getAvailableLocales()
      返回一个包含所有locale的数组,此类的 getInstance 方法可以为其返回本地化实例。返回的数组表示 Java 运行时和已安装的 DateFormatSymbolsProvider 实现支持的locale的联合。至少,返回的数组必须包含一个等于 Locale.ROOT Locale 实例和一个等于 Locale.US Locale 实例。
      返回:
      本地化 DateFormatSymbols 实例可用的区域设置数组。
      自从:
      1.6
    • getInstance

      public static final DateFormatSymbols  getInstance()
      获取默认locale的 DateFormatSymbols 实例。此方法提供对 Java 运行时本身支持的locale以及已安装的 DateFormatSymbolsProvider 实现支持的locale的 DateFormatSymbols 实例的访问。

      这相当于调用 getInstance(Locale.getDefault(Locale.Category.FORMAT))

      返回:
      一个DateFormatSymbols实例。
      自从:
      1.6
      参见:
    • getInstance

      public static final DateFormatSymbols  getInstance(Locale  locale)
      获取指定locale的 DateFormatSymbols 实例。此方法提供对 Java 运行时本身支持的locale以及已安装的 DateFormatSymbolsProvider 实现支持的locale的 DateFormatSymbols 实例的访问。
      参数:
      locale - 给定的locale。
      返回:
      一个DateFormatSymbols实例。
      抛出:
      NullPointerException - 如果 locale 为空
      自从:
      1.6
    • getEras

      public String [] getEras()
      获取纪元字符串。例如:“AD”和“BC”。
      返回:
      纪元弦。
    • setEras

      public void setEras(String [] newEras)
      设置时代字符串。例如:“AD”和“BC”。
      参数:
      newEras - 新纪元琴弦。
    • getMonths

      public String [] getMonths()
      获取月份字符串。例如:“January”、“February”等。根据是否支持 Calendar.UNDECIMBER ,将返回包含 12 个或 13 个元素的数组。使用 Calendar.JANUARY Calendar.FEBRUARY 等来索引结果数组。

      如果该语言需要不同的格式化形式和独立用法,则此方法返回格式化形式的月份名称。例如,捷克语中 1 月的首选月份名称在格式化形式中为 ledna,而在独立形式中为 leden。在这种情况下,此方法返回 "ledna"。有关详细信息,请参阅 Unicode 区域设置数据标记语言 (LDML) 规范中的日历元素

      实现要求:
      由于支持 Calendar.UNDECIMBER ,此方法返回 13 个元素。
      返回:
      月份字符串。
    • setMonths

      public void setMonths(String [] newMonths)
      设置月份字符串。例如:“一月”、“二月”等。
      参数:
      newMonths - 新的月份字符串。该数组应由 Calendar.JANUARY Calendar.FEBRUARY 等索引。
    • getShortMonths

      public String [] getShortMonths()
      获取短月份字符串。例如:“Jan”、“Feb”等。根据是否支持 Calendar.UNDECIMBER ,将返回包含 12 个或 13 个元素的数组。使用 Calendar.JANUARY Calendar.FEBRUARY 等来索引结果数组。

      如果语言需要不同的格式化形式和独立用法,则此方法返回格式化形式的短月份名称。例如,加泰罗尼亚语中 January 的首选缩写格式形式为 de gen.,而独立形式为 gen.。在这种情况下,此方法返回 "de gen."。有关详细信息,请参阅 Unicode 区域设置数据标记语言 (LDML) 规范中的日历元素

      实现要求:
      由于支持 Calendar.UNDECIMBER ,此方法返回 13 个元素。
      返回:
      短月字符串。
    • setShortMonths

      public void setShortMonths(String [] newShortMonths)
      设置短月份字符串。例如:“一月”、“二月”等。
      参数:
      newShortMonths - 新的短月份字符串。该数组应由 Calendar.JANUARY Calendar.FEBRUARY 等索引。
    • getWeekdays

      public String [] getWeekdays()
      获取工作日字符串。例如:“星期日”、“星期一”等。
      返回:
      工作日字符串。使用 Calendar.SUNDAY Calendar.MONDAY 等来索引结果数组。
    • setWeekdays

      public void setWeekdays(String [] newWeekdays)
      设置工作日字符串。例如:“星期日”、“星期一”等。
      参数:
      newWeekdays - 新的工作日字符串。该数组应由 Calendar.SUNDAY Calendar.MONDAY 等索引。
    • getShortWeekdays

      public String [] getShortWeekdays()
      获取短工作日字符串。例如:“星期日”、“星期一”等。
      返回:
      短工作日字符串。使用 Calendar.SUNDAY Calendar.MONDAY 等来索引结果数组。
    • setShortWeekdays

      public void setShortWeekdays(String [] newShortWeekdays)
      设置短工作日字符串。例如:“星期日”、“星期一”等。
      参数:
      newShortWeekdays - 新的短工作日字符串。该数组应由 Calendar.SUNDAY Calendar.MONDAY 等索引。
    • getAmPmStrings

      public String [] getAmPmStrings()
      获取 ampm 字符串。例如:“上午”和“下午”。
      返回:
      放大器弦。
    • setAmPmStrings

      public void setAmPmStrings(String [] newAmpms)
      设置 ampm 字符串。例如:“上午”和“下午”。
      参数:
      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 是 not 本地化的;它是 TimeZone 类的有效 ID 之一,但不是 自定义 ID 。所有其他条目都是本地化的名称。如果区域不实施夏令时,则不应使用夏令时名称。

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

      返回:
      时区字符串。
      参见:
    • setZoneStrings

      public void setZoneStrings(String [][] newZoneStrings)
      设置时区字符串。参数必须是大小为 n by 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 是 not 本地化的;它是 TimeZone 类的有效 ID 之一,但不是 自定义 ID 。所有其他条目都是本地化的名称。
      参数:
      newZoneStrings - 新时区字符串。
      抛出:
      IllegalArgumentException - 如果 newZoneStrings 中任何行的长度小于 5
      NullPointerException - 如果 newZoneStrings 为空
      参见:
    • getLocalPatternChars

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

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

      public Object  clone()
      重写可克隆
      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      参见:
    • hashCode

      public int hashCode()
      重写哈希码。为 DateFormatSymbols 对象生成哈希码。
      重写:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见:
    • equals

      public boolean equals(Object  obj)
      重写等于
      重写:
      equals 在类 Object
      参数:
      obj - 要比较的参考对象。
      返回:
      true 如果此对象与 obj 参数相同; false否则。
      参见: