public final class WeekFields extends Object implements Serializable
標準の週の長さは7日間ですが、週の他の側面については文化によって定義が異なる場合があります。このクラスは、TemporalField
インスタンスを提供する目的で、週の定義を表します。
WeekFieldsにはdayOfWeek()
、weekOfMonth()
、weekOfYear()
、weekOfWeekBasedYear()
およびweekBasedYear()
という5つのフィールドがあり、任意の時間的オブジェクトの値へのアクセスを提供します。
曜日、「月の週番号」および「年の週番号」は、エポック日と暦に基づく「先発グレゴリオ暦の年」、月、「月の日」およびISO暦の曜日に基づいています。暦によっては値を紀元年に揃えることができない場合があります。
週は次によって定義されます。
日付 | 曜日 | 最初の曜日: 月曜日 最小日数: 4 | 最初の曜日: 月曜日 最小日数: 5 |
---|---|---|---|
2008-12-31 | 水曜日 | 2008年12月の週5 | 2008年12月の週5 |
2009-01-01 | 木曜日 | 2009年1月の週1 | 2009年1月の週0 |
2009-01-04 | 日曜日 | 2009年1月の週1 | 2009年1月の週0 |
2009-01-05 | 月曜日 | 2009年1月の週2 | 2009年1月の週1 |
「暦週の基準年の週番号」
、もう1つは「暦週の基準年」
です。暦週の基準年では、各週は1つの年だけに属します。年の週1は、最初の曜日で始まり最小日数以上を含む最初の週です。年の最初の週は前の暦年の日を含む可能性があり、最後の週は次の暦年の日を含む可能性があります。
日付 | 曜日 | 最初の曜日: 月曜日 最小日数: 4 | 最初の曜日: 月曜日 最小日数: 5 |
---|---|---|---|
2008-12-31 | 水曜日 | 2009年の週1 | 2008年の週53 |
2009-01-01 | 木曜日 | 2009年の週1 | 2008年の週53 |
2009-01-04 | 日曜日 | 2009年の週1 | 2008年の週53 |
2009-01-05 | 月曜日 | 2009年の週2 | 2009年の週1 |
修飾子と型 | フィールドと説明 |
---|---|
static WeekFields |
ISO
週が月曜日から始まり、最初の週には少なくとも4日が含まれるISO-8601の定義です。
|
static WeekFields |
SUNDAY_START
日曜日から始まる週の共通の定義であり、最初の週には少なくとも1日が含まれます。
|
static TemporalUnit |
WEEK_BASED_YEARS
加算および減算の目的で暦週の基準年を表す単位です。
|
修飾子と型 | メソッドと説明 |
---|---|
TemporalField |
dayOfWeek()
この
WeekFields に基づいて、曜日にアクセスするフィールドを返します。 |
boolean |
equals(Object object)
この
WeekFields が指定されたオブジェクトと等しいかどうかをチェックします。 |
DayOfWeek |
getFirstDayOfWeek()
週の最初の曜日を取得します。
|
int |
getMinimalDaysInFirstWeek()
最初の週の最小日数を取得します。
|
int |
hashCode()
この
WeekFields のハッシュ・コードです。 |
static WeekFields |
of(DayOfWeek firstDayOfWeek, int minimalDaysInFirstWeek)
週の最初の曜日および最小日数から
WeekFields のインスタンスを取得します。 |
static WeekFields |
of(Locale locale)
ロケールに適した
WeekFields のインスタンスを取得します。 |
String |
toString()
この
WeekFields インスタンスの文字列表現です。 |
TemporalField |
weekBasedYear()
この
WeekFields に基づいて、暦週の基準年の年にアクセスするフィールドを返します。 |
TemporalField |
weekOfMonth()
この
WeekFields に基づいて、月の何週目かを表す値にアクセスするフィールドを返します。 |
TemporalField |
weekOfWeekBasedYear()
この
WeekFields に基づいて、暦週の基準年の何週目かを表す値にアクセスするフィールドを返します。 |
TemporalField |
weekOfYear()
この
WeekFields に基づいて、年の何週目かを表す値にアクセスするフィールドを返します。 |
public static final WeekFields ISO
ISO-8601標準では、週に基づく暦体系が定義されています。そこでは、標準的な年/月/日のかわりに「暦週の基準年」と「暦週の基準年の週番号」の概念を使用して、日の経過が分割されます。
最初の週が1つ前の暦年から始まる場合があります。また、暦年の最初の数日が、1つ前の暦年に対応する暦週の基準年に含まれる場合もあります。
public static final WeekFields SUNDAY_START
日曜日から始まり、その月の1日以上を含むものとして定義されます。この週の定義は米国とヨーロッパの国で使用されます。
public static final TemporalUnit WEEK_BASED_YEARS
これを使用すると、暦週の基準年の数を日付に加算または減算できます。単位は52週または53週と等しくなります。暦週の基準年の推定デュレーションは、標準のISO暦の年と同じ365.2425日
です。
加算ルールでは、暦週の基準年の年数を「暦週の基準年」フィールドの既存値に加算し、「暦週の基準年の週番号」と曜日はそのままにします(ターゲットの年に対して週番号が大きすぎる場合を除く)。そのような場合、週は同じ曜日を持つ年の最後の週に設定されます。
この単位は不変でスレッドセーフなシングルトンです。
public static WeekFields of(Locale locale)
WeekFields
のインスタンスを取得します。
これは、ローカリゼーション・データのプロバイダから適切な値を検索します。
locale
- 使用するロケール。null以外public static WeekFields of(DayOfWeek firstDayOfWeek, int minimalDaysInFirstWeek)
WeekFields
のインスタンスを取得します。
最初の曜日は、曜日1となるISO暦のDayOfWeek
を定義します。最初の週の最小日数は、最初の曜日から始まるその週が、月または年のうちの何日以上を含んでいれば最初の週と見なされるかを定義します。値が1の場合は、その月または年の1日目が最初の週に含まれると見なされ、値が7の場合は、その7日間全体が新しい月または年に含まれている必要があります。
WeekFieldsのインスタンスはシングルトンです。firstDayOfWeek
とminimalDaysInFirstWeek
の一意の各組合せに対して、同じインスタンスが返されます。
firstDayOfWeek
- 週の最初の曜日。null以外minimalDaysInFirstWeek
- 最初の週の最小日数。1から7までIllegalArgumentException
- 最小日数の値が1より小さいか7より大きい場合public DayOfWeek getFirstDayOfWeek()
最初の曜日は文化によって異なります。たとえば、米国では日曜日が使用され、フランスとISO-8601標準では月曜日が使用されます。このメソッドは標準のDayOfWeek
の列挙を使用して最初の曜日を返します。
public int getMinimalDaysInFirstWeek()
月または年の最初の週を定義するために考慮される日数は、文化によって異なります。たとえば、ISO-8601標準では、最初の週と見なすには4日(1週間の半分以上)が必要です。
public TemporalField dayOfWeek()
WeekFields
に基づいて、曜日にアクセスするフィールドを返します。
これはChronoField.DAY_OF_WEEK
に似ていますが、このWeekFields
に基づく曜日の値を使用します。曜日には1から7までの番号が付けられ、最初の曜日
に値1が割り当てられます。
たとえば、最初の曜日が日曜日の場合は、それに値1が割り当てられ、他の曜日には月曜日の2から土曜日の7までが割り当てられます。
解析時の解決フェーズでは、ローカライズされた曜日が標準化されたChronoField
の曜日に変換されます。曜日は1から7までの有効な範囲内になければなりません。このクラスの他のフィールドは、標準化された曜日を使用して日付を構築します。
public TemporalField weekOfMonth()
WeekFields
に基づいて、月の何週目かを表す値にアクセスするフィールドを返します。
これは、週が固定の曜日(月曜日など)から始まる場合の、月内での週のカウントの概念を表します。通常、このフィールドはdayOfWeek()
とともに使用されます。
週1は、その月の少なくともgetMinimalDaysInFirstWeek()
日を含む、getFirstDayOfWeek()
から始まる週です。したがって、週1の開始は、月の開始より最大minDays
日前になる場合があります。月の開始より後に最初の週が始まる場合、それより前の期間は週0です。
例:
- 月の1日目が月曜日の場合、1日目から週1が始まり、週0はありません
- 月の2日目が月曜日の場合、2日目から週1が始まり、1日目は週0に含まれます
- 月の4日目が月曜日の場合、4日目から週1が始まり、1日目から3日目までは週0に含まれます
- 月の5日目が月曜日の場合、5日目から週2が始まり、1日目から4日目までは週1に含まれます
このフィールドは任意の暦体系で使用できます。
解析時の解決フェーズでは、年、「月の週番号」、月および曜日から日付を作成できます。
厳密モードでは、4つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「月の週番号」フィールドは、結果となる月が要求された月であることを確認するために検証されます。
スマート・モードでは、4つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「月の週番号」フィールドは0から6の範囲で検証されます。これは、結果となる日付が、指定された月とは別の月に含まれる可能性があることを意味します。
非厳密モードでは、年と曜日が有効値の範囲に対して検証されます。結果となる日付は、次の4段階方式と等価の方法で計算されます。まず、要求された年の1月の第1週の1日目において日付を作成します。次に、月の値から1を減算し、その月数を日付に加算します。次に、「月の週番号」の値から1を減算し、その週数を日付に加算します。最後に、ローカライズされた週内の正しい曜日に調整します。
public TemporalField weekOfYear()
WeekFields
に基づいて、年の何週目かを表す値にアクセスするフィールドを返します。
これは、週が固定の曜日(月曜日など)から始まる場合の、年内での週のカウントの概念を表します。通常、このフィールドはdayOfWeek()
とともに使用されます。
週1は、その年の少なくともgetMinimalDaysInFirstWeek()
日を含む、getFirstDayOfWeek()
から始まる週です。したがって、週1の開始は、年の開始より最大minDays
日前になる場合があります。年の開始より後に最初の週が始まる場合、それより前の期間は週0です。
例:
- 年の1日目が月曜日の場合、1日目から週1が始まり、週0はありません
- 年の2日目が月曜日の場合、2日目から週1が始まり、1日目は週0に含まれます
- 年の4日目が月曜日の場合、4日目から週1が始まり、1日目から3日目までは週0に含まれます
- 年の5日目が月曜日の場合、5日目から週2が始まり、1日目から4日目までは週1に含まれます
このフィールドは任意の暦体系で使用できます。
解析時の解決フェーズでは、年、「年の週番号」および曜日から日付を作成できます。
厳密モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「年の週番号」フィールドは、結果となる年が要求された年であることを確認するために検証されます。
スマート・モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「年の週番号」フィールドは0から54の範囲で検証されます。これは、結果となる日付が、指定された年とは別の年に含まれる可能性があることを意味します。
非厳密モードでは、年と曜日が有効値の範囲に対して検証されます。結果となる日付は、次の3段階方式と等価の方法で計算されます。まず、要求された年の第1週の1日目において日付を作成します。次に、「年の週番号」の値から1を減算し、その週数を日付に加算します。最後に、ローカライズされた週内の正しい曜日に調整します。
public TemporalField weekOfWeekBasedYear()
WeekFields
に基づいて、暦週の基準年の何週目かを表す値にアクセスするフィールドを返します。
これは、週が固定の曜日(月曜日など)から始まり、各週の全体がある1年に属する場合の、年内での週のカウントの概念を表します。通常、このフィールドはdayOfWeek()
およびweekBasedYear()
とともに使用されます。
週1は、その年の少なくともgetMinimalDaysInFirstWeek()
日を含む、getFirstDayOfWeek()
から始まる週です。年の開始より後に最初の週が始まる場合、それより前の期間は、前の年の最後の週に含まれます。
例:
- 年の1日目が月曜日の場合、1日目から週1が始まります
- 年の2日目が月曜日の場合、2日目から週1が始まり、1日目は前年の最後の週に含まれます
- 年の4日目が月曜日の場合、4日目から週1が始まり、1日目から3日目までは前年の最後の週に含まれます
- 年の5日目が月曜日の場合、5日目から週2が始まり、1日目から4日目までは週1に含まれます
このフィールドは任意の暦体系で使用できます。
解析時の解決フェーズでは、「暦週の基準年」、「年の週番号」および曜日から日付を作成できます。
厳密モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「年の週番号」フィールドは、結果となる「暦週の基準年」が要求された「暦週の基準年」であることを確認するために検証されます。
スマート・モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「暦週の基準年の週番号」フィールドは1から53の範囲で検証されます。これは、結果となる日付が、指定された暦週の基準年の次の年に含まれる可能性があることを意味します。
非厳密モードでは、年と曜日が有効値の範囲に対して検証されます。結果となる日付は、次の3段階方式と等価の方法で計算されます。まず、要求された「暦週の基準年」の第1週の1日目において日付を作成します。次に、「暦週の基準年の週番号」の値から1を減算し、その週数を日付に加算します。最後に、ローカライズされた週内の正しい曜日に調整します。
public TemporalField weekBasedYear()
WeekFields
に基づいて、暦週の基準年の年にアクセスするフィールドを返します。
これは、週が固定の曜日(月曜日など)から始まり、各週の全体がある1年に属する場合の、年の概念を表します。通常、このフィールドはdayOfWeek()
およびweekOfWeekBasedYear()
とともに使用されます。
週1は、その年の少なくともgetMinimalDaysInFirstWeek()
日を含む、getFirstDayOfWeek()
から始まる週です。したがって、週1の開始は、年の開始より前になる場合があります。年の開始より後に最初の週が始まる場合、それより前の期間は、前の年の最後の週に含まれます。
このフィールドは任意の暦体系で使用できます。
解析時の解決フェーズでは、「暦週の基準年」、「年の週番号」および曜日から日付を作成できます。
厳密モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「年の週番号」フィールドは、結果となる「暦週の基準年」が要求された「暦週の基準年」であることを確認するために検証されます。
スマート・モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。「暦週の基準年の週番号」フィールドは1から53の範囲で検証されます。これは、結果となる日付が、指定された暦週の基準年の次の年に含まれる可能性があることを意味します。
非厳密モードでは、年と曜日が有効値の範囲に対して検証されます。結果となる日付は、次の3段階方式と等価の方法で計算されます。まず、要求された「暦週の基準年」の第1週の1日目において日付を作成します。次に、「暦週の基準年の週番号」の値から1を減算し、その週数を日付に加算します。最後に、ローカライズされた週内の正しい曜日に調整します。
public boolean equals(Object object)
WeekFields
が指定されたオブジェクトと等しいかどうかをチェックします。
比較はルールの全体の状態、つまり最初の曜日と最小日数に基づきます。
equals
、クラス: Object
object
- 比較対象の他のルール、nullはfalseを返すObject.hashCode()
、HashMap
public int hashCode()
WeekFields
のハッシュ・コードです。hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.