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

列挙型DayOfWeek

  • すべての実装されたインタフェース:
    Serializable, Comparable<DayOfWeek>, TemporalAccessor, TemporalAdjuster

    public enum DayOfWeek
    extends Enum<DayOfWeek>
    implements TemporalAccessor, TemporalAdjuster
    「曜日」(「Tuesday」など)。

    DayOfWeekは、7曜日(月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日)を表す列挙型です。

    テキストの列挙名に加えて、各曜日にint値があります。 int値はISO-8601規格に従い、1 (月曜日)から7 (日曜日)までになります。 コードをわかりやすくするために、アプリケーションはint値ではなく列挙型を使用することをお薦めします。

    この列挙型は、ローカライズされたテキスト形式の曜日へのアクセスを提供します。 一部のロケールは曜日に別の数値を割り当てます(値1の日曜日を宣言)が、このクラスはこれのサポートは提供しません。 ローカライズされた曜日番号付けについては、WeekFieldsを参照してください。

    ordinal()は、DayOfWeekの数値表現を取得するためには使用しないでください。 かわりにgetValue()を使用してください。

    この列挙型は、多くの暦体系に見られる共通の概念を表現します。 そのため、この列挙型は、ISO暦体系とまったく同等に定義された曜日概念を持つ暦体系で使用できます。

    実装要件:
    これは不変でスレッドセーフな列挙型です。
    導入されたバージョン:
    1.8
    • 列挙型定数のサマリー

      列挙型定数 
      列挙型定数 説明
      FRIDAY
      「曜日」金曜日のシングルトン・インスタンス。
      MONDAY
      「曜日」月曜日のシングルトン・インスタンス。
      SATURDAY
      「曜日」土曜日のシングルトン・インスタンス。
      SUNDAY
      「曜日」日曜日のシングルトン・インスタンス。
      THURSDAY
      「曜日」木曜日のシングルトン・インスタンス。
      TUESDAY
      「曜日」火曜日のシングルトン・インスタンス。
      WEDNESDAY
      「曜日」水曜日のシングルトン・インスタンス。
    • 列挙型定数の詳細

      • MONDAY

        public static final DayOfWeek MONDAY
        「曜日」月曜日のシングルトン・インスタンス。 これの数値は1です。
      • TUESDAY

        public static final DayOfWeek TUESDAY
        「曜日」火曜日のシングルトン・インスタンス。 これの数値は2です。
      • WEDNESDAY

        public static final DayOfWeek WEDNESDAY
        「曜日」水曜日のシングルトン・インスタンス。 これの数値は3です。
      • THURSDAY

        public static final DayOfWeek THURSDAY
        「曜日」木曜日のシングルトン・インスタンス。 これの数値は4です。
      • FRIDAY

        public static final DayOfWeek FRIDAY
        「曜日」金曜日のシングルトン・インスタンス。 これの数値は5です。
      • SATURDAY

        public static final DayOfWeek SATURDAY
        「曜日」土曜日のシングルトン・インスタンス。 これの数値は6です。
      • SUNDAY

        public static final DayOfWeek SUNDAY
        「曜日」日曜日のシングルトン・インスタンス。 これの数値は7です。
    • メソッドの詳細

      • values

        public static DayOfWeek[] values()
        この列挙型の定数を含む配列を、宣言されている順序で返します。 このメソッドは、次のようにして定数を反復するために使用できます。
        for (DayOfWeek c : DayOfWeek.values())
            System.out.println(c);
        
        戻り値:
        この列挙型の定数を含む配列(宣言されている順序)
      • valueOf

        public static DayOfWeek valueOf​(String name)
        指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 (不適切な空白文字は許可されません。)
        パラメータ:
        name - 返される列挙型定数の名前。
        戻り値:
        指定された名前を持つ列挙型定数
        例外:
        IllegalArgumentException - 指定された名前を持つ定数をこの列挙型が持っていない場合
        NullPointerException - 引数がnullの場合
      • of

        public static DayOfWeek of​(int dayOfWeek)
        int値からDayOfWeekのインスタンスを取得します。

        DayOfWeekは7曜日を表す列挙型です。 このファクトリを使用すると、int値から列挙型を取得できます。 int値はISO-8601規格に従い、1 (月曜日)から7 (日曜日)までになります。

        パラメータ:
        dayOfWeek - 表す曜日、1 (月曜日)から7 (日曜日)まで
        戻り値:
        曜日シングルトン、nullでない
        例外:
        DateTimeException - 曜日が無効な場合
      • from

        public static DayOfWeek from​(TemporalAccessor temporal)
        時間的オブジェクトからDayOfWeekのインスタンスを取得します。

        指定されたtemporalに基づいて曜日を取得します。 TemporalAccessorは、日付/時間情報の任意のセットを表現します。このファクトリはこれをDayOfWeekのインスタンスに変換します。

        この変換はりDAY_OF_WEEKフィールドを抽出します。

        このメソッドは、関数型インタフェースTemporalQueryのシグネチャを照合し、これをメソッド参照DayOfWeek::from経由のクエリーとして使用できるようにします。

        パラメータ:
        temporal - 変換する一時オブジェクト、null以外
        戻り値:
        曜日、null以外
        例外:
        DateTimeException - DayOfWeekに変換できない場合
      • getValue

        public int getValue()
        曜日のint値を取得します。

        この値はISO-8601規格に従って、1 (月曜日)から7 (日曜日)まで番号付けされます。 ローカライズされた曜日番号付けについては、WeekFields.dayOfWeek()を参照してください。

        戻り値:
        曜日、1 (月曜日)から7 (日曜日)まで
      • getDisplayName

        public String getDisplayName​(TextStyle style,
                                     Locale locale)
        「Mon」や「Friday」など、テキスト表現を取得します。

        これは、曜日を識別するために使用される、ユーザーに提示するために適したテキスト名を返します。 パラメータは返されるテキストとロケールのスタイルを制御します。

        テキスト・マッピングが見つからない場合、数値が返されます。

        パラメータ:
        style - 必要なテキストの長さ、nullでない
        locale - 使用するロケール。null以外
        戻り値:
        曜日のテキスト値、nullでない
      • isSupported

        public boolean isSupported​(TemporalField field)
        指定されたフィールドがサポートされているかどうかをチェックします。

        これは、指定されたフィールドについてこの曜日を照会できるかどうかを確認します。 falseの場合、rangeメソッドとgetメソッドを呼び出すと例外がスローされます。

        フィールドがDAY_OF_WEEKの場合、このメソッドはtrueを返します。 他のすべてのChronoFieldインスタンスはfalseを返します。

        フィールドがChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。

        定義:
        インタフェースTemporalAccessorisSupported
        パラメータ:
        field - チェックするフィールド、nullはfalseを返す
        戻り値:
        フィールドがこの曜日でサポートされている場合はtrue、そうでない場合はfalse
      • range

        public ValueRange range​(TemporalField field)
        指定されたフィールドの有効な値の範囲を取得します。

        範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この曜日は、返される範囲の精度を上げるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。

        フィールドがDAY_OF_WEEKの場合、曜日の範囲(1から7まで)が返されます。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

        フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。

        定義:
        インタフェースTemporalAccessorrange
        パラメータ:
        field - 範囲を問い合わせるフィールド、null以外
        戻り値:
        フィールドの有効値の範囲。null以外
        例外:
        DateTimeException - フィールドの範囲を取得できない場合
        UnsupportedTemporalTypeException - フィールドがサポートされていない場合
      • get

        public int get​(TemporalField field)
        指定されたフィールドの値をこの曜日からintとして取得します。

        これは、指定したフィールドの値についてこの曜日に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。

        フィールドがDAY_OF_WEEKの場合、曜日の値(1から7まで)が返されます。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

        フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。

        定義:
        インタフェースTemporalAccessorget
        パラメータ:
        field - 取得するフィールド、null以外
        戻り値:
        フィールドの値、値の有効な範囲内
        例外:
        DateTimeException - フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合
        UnsupportedTemporalTypeException - フィールドがサポートされていない場合、または値の範囲がintを超えている場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • getLong

        public long getLong​(TemporalField field)
        指定されたフィールドの値をこの曜日からlongとして取得します。

        これは、指定したフィールドの値についてこの曜日に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。

        フィールドがDAY_OF_WEEKの場合、曜日の値(1から7まで)が返されます。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

        フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。

        定義:
        インタフェースTemporalAccessorgetLong
        パラメータ:
        field - 取得するフィールド、null以外
        戻り値:
        フィールドの値
        例外:
        DateTimeException - フィールドの値を取得できない場合
        UnsupportedTemporalTypeException - フィールドがサポートされていない場合
        ArithmeticException - 数値のオーバーフローが発生した場合
      • plus

        public DayOfWeek plus​(long days)
        この日から指定された日数が経過した後の曜日を返します。

        この計算は、週の終わりで日曜日から月曜日に戻ります。 指定する期間は負でもかまいません。

        このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

        パラメータ:
        days - 追加する日数(正または負)
        戻り値:
        結果の曜日、nullでない
      • minus

        public DayOfWeek minus​(long days)
        この日から指定された日数だけ遡った曜日を返します。

        この計算は、年の始めで月曜日から日曜日に戻ります。 指定する期間は負でもかまいません。

        このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

        パラメータ:
        days - 引く日数(正または負)
        戻り値:
        結果の曜日、nullでない
      • query

        public <R> R query​(TemporalQuery<R> query)
        指定されたクエリーを使用してこの曜日を照会します。

        これは、指定されたクエリー戦略オブジェクトを使用してこの曜日を照会します。 TemporalQueryオブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。

        このメソッドの結果は、thisを引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)メソッドを呼び出すことによって取得します。

        定義:
        インタフェースTemporalAccessorquery
        型パラメータ:
        R - 結果の型
        パラメータ:
        query - 呼び出す問合せ、null以外
        戻り値:
        問合せ結果、nullが返されることがある(問合せによって定義される)
        例外:
        DateTimeException - 問い合わせできない場合(問合せによって定義される)
        ArithmeticException - 数値のオーバーフローが発生した場合(問合せによって定義される)
      • adjustInto

        public Temporal adjustInto​(Temporal temporal)
        この「曜日」を使用するように指定された時間的オブジェクトを調整します。

        これは、曜日をこれと同じに変更した状態で、入力と同じ観察可能な型の時間的オブジェクトを返します。

        この調整は、ChronoField.DAY_OF_WEEKをフィールドとして渡してTemporal.with(TemporalField, long)を使用するのと同等です。 月曜日から日曜日の週内で、前後に調整されます。 ローカライズされた週開始日については、WeekFields.dayOfWeek()を参照してください。 next(MONDAY)など、より詳細に制御できる他のアジャスタについては、TemporalAdjusterを参照してください。

        ほとんどのケースで、Temporal.with(TemporalAdjuster)を使用して、呼び出しパターンを逆にすると明確になります。

           // these two lines are equivalent, but the second approach is recommended
           temporal = thisDayOfWeek.adjustInto(temporal);
           temporal = temporal.with(thisDayOfWeek);
         

        たとえば、水曜日の日付を指定すると、次のように出力されます。

           dateOnWed.with(MONDAY);     // two days earlier
           dateOnWed.with(TUESDAY);    // one day earlier
           dateOnWed.with(WEDNESDAY);  // same date
           dateOnWed.with(THURSDAY);   // one day later
           dateOnWed.with(FRIDAY);     // two days later
           dateOnWed.with(SATURDAY);   // three days later
           dateOnWed.with(SUNDAY);     // four days later
         

        このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

        定義:
        インタフェースTemporalAdjusteradjustInto
        パラメータ:
        temporal - 調整するターゲット・オブジェクト、null以外
        戻り値:
        調整されるオブジェクト、null以外
        例外:
        DateTimeException - 調整を実行できない場合
        ArithmeticException - 数値のオーバーフローが発生した場合