- java.lang.Object
-
- java.lang.Enum<DayOfWeek>
-
- 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
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 Temporal
adjustInto(Temporal temporal)
この「曜日」を使用するように指定された時間的オブジェクトを調整します。static DayOfWeek
from(TemporalAccessor temporal)
時間的オブジェクトからDayOfWeek
のインスタンスを取得します。int
get(TemporalField field)
指定されたフィールドの値をこの曜日からint
として取得します。String
getDisplayName(TextStyle style, Locale locale)
「Mon」や「Friday」など、テキスト表現を取得します。long
getLong(TemporalField field)
指定されたフィールドの値をこの曜日からlong
として取得します。int
getValue()
曜日のint
値を取得します。boolean
isSupported(TemporalField field)
指定されたフィールドがサポートされているかどうかをチェックします。DayOfWeek
minus(long days)
この日から指定された日数だけ遡った曜日を返します。static DayOfWeek
of(int dayOfWeek)
int
値からDayOfWeek
のインスタンスを取得します。DayOfWeek
plus(long days)
この日から指定された日数が経過した後の曜日を返します。<R> R
query(TemporalQuery<R> query)
指定されたクエリーを使用してこの曜日を照会します。ValueRange
range(TemporalField field)
指定されたフィールドの有効な値の範囲を取得します。static DayOfWeek
valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。static DayOfWeek[]
values()
この列挙型の定数を含む配列を、宣言されている順序で返します。
-
-
-
列挙型定数の詳細
-
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)
を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
- インタフェース
TemporalAccessor
のisSupported
- パラメータ:
field
- チェックするフィールド、nullはfalseを返す- 戻り値:
- フィールドがこの曜日でサポートされている場合はtrue、そうでない場合はfalse
-
range
public ValueRange range(TemporalField field)
指定されたフィールドの有効な値の範囲を取得します。範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この曜日は、返される範囲の精度を上げるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
DAY_OF_WEEK
の場合、曜日の範囲(1から7まで)が返されます。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.rangeRefinedBy(TemporalAccessor)
を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のrange
- パラメータ:
field
- 範囲を問い合わせるフィールド、null以外- 戻り値:
- フィールドの有効値の範囲。null以外
- 例外:
DateTimeException
- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合
-
get
public int get(TemporalField field)
指定されたフィールドの値をこの曜日からint
として取得します。これは、指定したフィールドの値についてこの曜日に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
DAY_OF_WEEK
の場合、曜日の値(1から7まで)が返されます。 他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のget
- パラメータ:
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)
を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessor
のgetLong
- パラメータ:
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)
メソッドを呼び出すことによって取得します。- 定義:
- インタフェース
TemporalAccessor
のquery
- 型パラメータ:
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
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
TemporalAdjuster
のadjustInto
- パラメータ:
temporal
- 調整するターゲット・オブジェクト、null以外- 戻り値:
- 調整されるオブジェクト、null以外
- 例外:
DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
-