モジュール java.base
パッケージ java.text

クラスDateFormatSymbols

java.lang.Object
java.text.DateFormatSymbols
すべての実装されたインタフェース:
Serializable, Cloneable

public class DateFormatSymbols extends Object implements Serializable, Cloneable
DateFormatSymbolsは、月、曜日、タイムゾーン・データなど、ローカライズが可能な日付/時刻フォーマット・データをカプセル化するためのpublicクラスです。 SimpleDateFormatは、DateFormatSymbolsを使ってこの情報をカプセル化します。

一般には、DateFormatSymbolsを直接使うことはしません。 その代わりに、DateFormatクラスのファクトリ・メソッドgetTimeInstancegetDateInstanceまたはgetDateTimeInstanceを使って日時フォーマッタを作成することをお薦めします。 これらのメソッドを使うと、そのフォーマッタのDateFormatSymbolsが自動的に作成されるので、新しく作成する必要はありません。 フォーマッタが作成されたら、そのフォーマット・パターンはsetPatternメソッドを使って修正することができます。 DateFormatのファクトリ・メソッドを使ってフォーマットを作成する方法については、DateFormatを参照してください。

特定ロケールの特定フォーマット・パターンを使って日時フォーマッタを作成する場合には、次の方法でできます。

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

ロケールに"rg" (リージョン・オーバーライド) 「Unicode拡張」が含まれている場合、シンボルは指定されたリージョンでオーバーライドされます。

DateFormatSymbolsオブジェクトは複製可能です。 DateFormatSymbolsオブジェクトを取得したら、その日時フォーマット・データを自由に変更できます。 たとえば、ローカライズされた日時フォーマット・パターン文字を、覚えやすいものに置き換えることができます。 あるいは、代表的な都市名を好みのものに変えることができます。

追加ロケールの日時フォーマットのSimpleDateFormatをサポートするために、新しいDateFormatSymbolsサブクラスを追加できます。

導入されたバージョン:
1.1
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    デフォルトのFORMATロケール用のリソースからフォーマット・データをロードすることによって、DateFormatSymbolsオブジェクトを構築します。
    指定されたロケールに対するリソースからフォーマット・データを読み込むことによって、DateFormatSymbolsオブジェクトを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    Cloneableをオーバーライドします。
    boolean
    equalsをオーバーライドします
    午前/午後の文字列を取得します。
    static Locale[]
    このクラスのgetInstanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。
    紀元の文字列を取得します。
    static final DateFormatSymbols
    デフォルト・ロケールのDateFormatSymbolsインスタンスを取得します。
    static final DateFormatSymbols
    指定されたロケールのDateFormatSymbolsインスタンスを取得します。
    ローカライズされた日付/時間パターン文字を取得します。
    月の文字列を取得します。
    月の短縮文字列を取得します。
    曜日の短縮文字列を取得します。
    曜日の文字列を取得します。
    String[][]
    タイムゾーンの文字列を取得します。
    int
    hashCodeをオーバーライドします。
    void
    setAmPmStrings(String[] newAmpms)
    午前/午後の文字列を設定します。
    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()
      デフォルトのFORMATロケール用のリソースからフォーマット・データをロードすることによって、DateFormatSymbolsオブジェクトを構築します。 このコンストラクタでは、Java実行環境でサポートされているロケールについてのみ、インスタンスを構築できます。インストールされているDateFormatSymbolsProvider実装でサポートされているロケールについては、インスタンスを構築できません。 すべてのロケールをカバーするには、getInstanceメソッドを使用してください。

      これは、DateFormatSymbols(Locale.getDefault(Locale.Category.FORMAT))の呼び出しと同等です。

      例外:
      MissingResourceException - デフォルト・ロケールに対するリソースが見つからないか、読み込めない場合。
      関連項目:
    • DateFormatSymbols

      public DateFormatSymbols(Locale locale)
      指定されたロケールに対するリソースからフォーマット・データを読み込むことによって、DateFormatSymbolsオブジェクトを構築します。 このコンストラクタでは、Java実行環境でサポートされているロケールについてのみ、インスタンスを構築できます。インストールされているDateFormatSymbolsProvider実装でサポートされているロケールについては、インスタンスを構築できません。 すべてのロケールをカバーするには、getInstanceメソッドを使用してください。
      パラメータ:
      locale - 目的のロケール
      例外:
      MissingResourceException - 指定されたロケールに対するリソースが見つからないか、読み込めない場合。
      関連項目:
  • メソッドの詳細

    • getAvailableLocales

      public static Locale[] getAvailableLocales()
      このクラスのgetInstanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。 返される配列は、JavaランタイムおよびインストールされているDateFormatSymbolsProvider実装によってサポートされているロケールの和集合を表します。 これには、Locale.USと等価なLocaleインスタンスが少なくとも1つ含まれている必要があります。
      戻り値:
      ローカライズされたDateFormatSymbolsインスタンスを使用可能なロケールの配列。
      導入されたバージョン:
      1.6
    • getInstance

      public static final DateFormatSymbols getInstance()
      デフォルト・ロケールのDateFormatSymbolsインスタンスを取得します。 このメソッドを使用すると、Javaランタイム自体でサポートされているロケールと、インストールされているDateFormatSymbolsProvider実装でサポートされているロケールの、DateFormatSymbolsインスタンスにアクセスできます。

      これは、getInstance(Locale.getDefault(Locale.Category.FORMAT))の呼び出しと同等です。

      戻り値:
      DateFormatSymbolsのインスタンス。
      導入されたバージョン:
      1.6
      関連項目:
    • getInstance

      public static final DateFormatSymbols getInstance(Locale locale)
      指定されたロケールのDateFormatSymbolsインスタンスを取得します。 このメソッドを使用すると、Javaランタイム自体でサポートされているロケールと、インストールされているDateFormatSymbolsProvider実装でサポートされているロケールの、DateFormatSymbolsインスタンスにアクセスできます。
      パラメータ:
      locale - 指定されたロケール。
      戻り値:
      DateFormatSymbolsのインスタンス。
      例外:
      NullPointerException - localeがnullである場合
      導入されたバージョン:
      1.6
    • getEras

      public String[] getEras()
      紀元の文字列を取得します。 たとえば: 「AD」、「BC」。
      戻り値:
      紀元の文字列。
    • setEras

      public void setEras(String[] newEras)
      紀元の文字列を設定します。 たとえば: 「AD」、「BC」。
      パラメータ:
      newEras - 新しい紀元の文字列。
    • getMonths

      public String[] getMonths()
      月の文字列を取得します。 例えば: "1月"、"2月"など。Calendar.UNDECIMBERがサポートされているかどうかによって、12または13要素のいずれかの配列が返されます。 結果配列を索引付けするには、Calendar.JANUARYCalendar.FEBRUARYなどを使用します。

      フォーマットおよびスタンドアロンの使用のために異なる形式を言語が必要とする場合、このメソッドは月の名前をフォーマット形式で返します。 たとえば、チェコ語で優先する1月の月の名前は、フォーマット形式ではlednaですが、スタンドアロン形式ではledenです。 この場合、このメソッドは"ledna"を返します。 詳細は、Unicode Locale Data Markup Language (LDML)仕様のカレンダ要素を参照してください。

      実装要件:
      このメソッドはCalendar.UNDECIMBERがサポートされているため、13個の要素を戻します。
      戻り値:
      月の文字列。
    • setMonths

      public void setMonths(String[] newMonths)
      月の文字列を設定します。 たとえば: 「January」、「February」など。
      パラメータ:
      newMonths - 新しい月の文字列。 配列は、Calendar.JANUARYCalendar.FEBRUARYなどで索引付けする必要があります。
    • getShortMonths

      public String[] getShortMonths()
      月の短縮文字列を取得します。 例えば: "1月"、"2月"など。Calendar.UNDECIMBERがサポートされているかどうかによって、12または13要素のいずれかの配列が返されます。 結果配列を索引付けするには、Calendar.JANUARYCalendar.FEBRUARYなどを使用します。

      言語で書式設定とスタンドアロンの使用に異なる書式が必要な場合、このメソッドは書式設定フォームに短い月名を返します。 たとえば、カタロニア語で優先する1月の略称は、フォーマット形式ではde gen.ですが、スタンドアロン形式ではgen.です。 この場合、このメソッドは"de gen."を返します。 詳細は、Unicode Locale Data Markup Language (LDML)仕様のカレンダ要素を参照してください。

      実装要件:
      このメソッドはCalendar.UNDECIMBERがサポートされているため、13個の要素を戻します。
      戻り値:
      月の短縮文字列。
    • setShortMonths

      public void setShortMonths(String[] newShortMonths)
      月の短縮文字列を設定します。 たとえば: 「Jan」、「Feb」など。
      パラメータ:
      newShortMonths - 新しい月の短縮文字列。 配列は、Calendar.JANUARYCalendar.FEBRUARYなどで索引付けする必要があります。
    • 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()
      午前/午後の文字列を取得します。 たとえば: 「AM」、「PM」。
      戻り値:
      午前/午後の文字列。
    • setAmPmStrings

      public void setAmPmStrings(String[] newAmpms)
      午前/午後の文字列を設定します。 たとえば: 「AM」、「PM」。
      パラメータ:
      newAmpms - 新しい午前/午後の文字列。
    • getZoneStrings

      public String[][] getZoneStrings()
      タイムゾーンの文字列を取得します。 このメソッドを使用することは推奨されません。代わりに、TimeZone.getDisplayName()を使用してください。

      返される値は、サイズがn×mの2次元の文字列配列で、この場合の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

      public void setZoneStrings(String[][] newZoneStrings)
      タイムゾーンの文字列を設定します。 引数は、サイズがn×mの2次元の文字列配列を指定する必要があり、この場合の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である場合
      関連項目:
    • getLocalPatternChars

      public String getLocalPatternChars()
      ローカライズされた日付/時間パターン文字を取得します。 たとえば: 「u」、「t」など。
      戻り値:
      ローカライズされた日時パターン文字。
    • setLocalPatternChars

      public void setLocalPatternChars(String newLocalPatternChars)
      ローカライズされた日付/時刻パターン文字を設定します。 たとえば: 「u」、「t」など。
      パラメータ:
      newLocalPatternChars - 新しいローカライズされた日時パターン文字。
    • clone

      public Object clone()
      Cloneableをオーバーライドします。
      オーバーライド:
      clone、クラスObject
      戻り値:
      このインスタンスの複製。
      関連項目:
    • hashCode

      public int hashCode()
      hashCodeをオーバーライドします。 DateFormatSymbolsオブジェクトのハッシュ・コードを生成します。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
    • equals

      public boolean equals(Object obj)
      equalsをオーバーライドします
      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj - 比較対象の参照オブジェクト。
      戻り値:
      このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
      関連項目: