モジュール java.base
パッケージ 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
    関連項目:
    DateFormat, SimpleDateFormat, SimpleTimeZone, 直列化された形式
    • コンストラクタの詳細

      • DateFormatSymbols

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

      • getAvailableLocales

        public static Locale[] getAvailableLocales()
        このクラスのgetInstanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。 返される配列は、JavaランタイムおよびインストールされているDateFormatSymbolsProvider実装によってサポートされているロケールの和集合を表します。 これには、Locale.USと等価なLocaleインスタンスが少なくとも1つ含まれている必要があります。
        戻り値:
        ローカライズされた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(String[][])
      • 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である場合
        関連項目:
        getZoneStrings()
      • getLocalPatternChars

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

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

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

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