public enum DayOfWeek extends Enum<DayOfWeek> implements TemporalAccessor, TemporalAdjuster
DayOfWeek
は、7曜日(月曜日、火曜日、水曜日、木曜日、金曜日、土曜日、日曜日)を表す列挙型です。
テキストの列挙名に加えて、各曜日にint
値があります。int
値はISO-8601規格に従い、1 (月曜日)から7 (日曜日)までになります。コードをわかりやすくするために、アプリケーションはint
値ではなく列挙型を使用することをお薦めします。
この列挙型は、ローカライズされたテキスト形式の曜日へのアクセスを提供します。一部のロケールは曜日に別の数値を割り当てます(値1の日曜日を宣言)が、このクラスはこれのサポートは提供しません。ローカライズされた曜日番号付けについては、WeekFields
を参照してください。
ordinal()
は、DayOfWeek
の数値表現を取得するためには使用しないでください。かわりにgetValue()
を使用してください。
この列挙型は、多くの暦体系に見られる共通の概念を表現します。そのため、この列挙型は、ISO暦体系とまったく同等に定義された曜日概念を持つ暦体系で使用できます。
列挙型定数と説明 |
---|
FRIDAY
「曜日」金曜日のシングルトン・インスタンス。
|
MONDAY
「曜日」月曜日のシングルトン・インスタンス。
|
SATURDAY
「曜日」土曜日のシングルトン・インスタンス。
|
SUNDAY
「曜日」日曜日のシングルトン・インスタンス。
|
THURSDAY
「曜日」木曜日のシングルトン・インスタンス。
|
TUESDAY
「曜日」火曜日のシングルトン・インスタンス。
|
WEDNESDAY
「曜日」水曜日のシングルトン・インスタンス。
|
修飾子と型 | メソッドと説明 |
---|---|
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()
この列挙型の定数を含む配列を、宣言されている順序で返します。
|
public static final DayOfWeek MONDAY
1
です。public static final DayOfWeek TUESDAY
2
です。public static final DayOfWeek WEDNESDAY
3
です。public static final DayOfWeek THURSDAY
4
です。public static final DayOfWeek FRIDAY
5
です。public static final DayOfWeek SATURDAY
6
です。public static final DayOfWeek SUNDAY
7
です。public static DayOfWeek[] values()
for (DayOfWeek c : DayOfWeek.values()) System.out.println(c);
public static DayOfWeek valueOf(String name)
name
- 返される列挙型定数の名前。IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数がnullの場合public static DayOfWeek of(int dayOfWeek)
int
値からDayOfWeek
のインスタンスを取得します。
DayOfWeek
は7曜日を表す列挙型です。このファクトリを使用すると、int
値から列挙型を取得できます。int
値はISO-8601規格に従い、1 (月曜日)から7 (日曜日)までになります。
dayOfWeek
- 表す曜日、1 (月曜日)から7 (日曜日)までDateTimeException
- 曜日が無効な場合public static DayOfWeek from(TemporalAccessor temporal)
DayOfWeek
のインスタンスを取得します。
指定されたtemporalに基づいて曜日を取得します。TemporalAccessor
は、日付/時間情報の任意のセットを表現します。このファクトリはこれをDayOfWeek
のインスタンスに変換します。
この変換はりDAY_OF_WEEK
フィールドを抽出します。
このメソッドは、関数型インタフェースTemporalQuery
のシグネチャを照合し、これをメソッド参照DayOfWeek::from
経由のクエリーとして使用できるようにします。
temporal
- 変換する一時オブジェクト、null以外DateTimeException
- DayOfWeek
に変換できない場合public int getValue()
int
値を取得します。
この値はISO-8601規格に従って、1 (月曜日)から7 (日曜日)まで番号付けされます。ローカライズされた曜日番号付けについては、WeekFields.dayOfWeek
を参照してください。
public String getDisplayName(TextStyle style, Locale locale)
これは、曜日を識別するために使用される、ユーザーに提示するために適したテキスト名を返します。パラメータは返されるテキストとロケールのスタイルを制御します。
テキスト・マッピングが見つからない場合、数値
が返されます。
style
- 必要なテキストの長さ、nullでないlocale
- 使用するロケール。null以外public boolean isSupported(TemporalField field)
これは、指定されたフィールドについてこの曜日を照会できるかどうかを確認します。falseの場合、range
メソッドとget
メソッドを呼び出すと例外がスローされます。
フィールドがDAY_OF_WEEK
の場合、このメソッドはtrueを返します。他のすべてのChronoField
インスタンスはfalseを返します。
フィールドがChronoField
でない場合、このメソッドの結果は、this
を引数として渡してTemporalField.isSupportedBy(TemporalAccessor)
を呼び出すことによって取得します。フィールドがサポートされているかどうかはフィールドによって決定します。
TemporalAccessor
のisSupported
field
- チェックするフィールド、nullはfalseを返すpublic ValueRange range(TemporalField field)
範囲オブジェクトはフィールドの有効な最小値と最大値を表します。この曜日は、返される範囲の精度を上げるために使用されます。範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがDAY_OF_WEEK
の場合、曜日の範囲(1から7まで)が返されます。他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.rangeRefinedBy(TemporalAccessor)
を呼び出すことにより取得されます。範囲を取得できるかどうかはフィールドによって決まります。
TemporalAccessor
のrange
field
- 範囲を問い合わせるフィールド、null以外DateTimeException
- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合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
- 数値のオーバーフローが発生した場合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
- 数値のオーバーフローが発生した場合public DayOfWeek plus(long days)
この計算は、週の終わりで日曜日から月曜日に戻ります。指定する期間は負でもかまいません。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
days
- 追加する日数(正または負)public DayOfWeek minus(long days)
この計算は、年の始めで月曜日から日曜日に戻ります。指定する期間は負でもかまいません。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
days
- 引く日数(正または負)public <R> R query(TemporalQuery<R> query)
これは、指定されたクエリー戦略オブジェクトを使用してこの曜日を照会します。TemporalQuery
オブジェクトは結果を取得するために使用するロジックを定義します。このメソッドの結果を理解するには、問合せのドキュメントをお読みください。
このメソッドの結果は、this
を引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)
メソッドを呼び出すことによって取得します。
TemporalAccessor
のquery
R
- 結果の型query
- 呼び出す問合せ、null以外DateTimeException
- 問い合わせできない場合(問合せによって定義される)ArithmeticException
- 数値のオーバーフローが発生した場合(問合せによって定義される)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以外DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.