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

クラスWeekFields

java.lang.Object
java.time.temporal.WeekFields
すべての実装されたインタフェース:
Serializable

public final class WeekFields extends Object implements Serializable
曜日、「月の週番号」、および「年の週番号」フィールドのローカライズされた定義です。

標準の週の長さは7日間ですが、週の他の側面については文化によって定義が異なる場合があります。 このクラスは、TemporalFieldインスタンスを提供する目的で、週の定義を表します。

WeekFieldsにはdayOfWeek()weekOfMonth()weekOfYear()weekOfWeekBasedYear()およびweekBasedYear()という5つのフィールドがあり、任意の時間的オブジェクトの値へのアクセスを提供します。

曜日、「月の週番号」および「年の週番号」は、エポック日と暦に基づく「先発暦の年」「月の日」およびISO暦の曜日に基づいています。 暦によっては値を紀元年に揃えることができない場合があります。

週は次によって定義されます。

  • 最初の曜日。 たとえば、ISO-8601標準では月曜日が最初の曜日と見なされます。
  • 最初の週の最小日数。 たとえば、ISO-8601標準では、最初の週に少なくとも4日が必要とされます。
これらの2つの値を組み合せると、年または月を週に分割できます。

月の週番号

1つのフィールド「月の週番号」が使用されます。 計算では、週が月の境界に重ならないことが保証されます。 定義された最初の曜日で各期間が始まるように、月が期間に分割されます。 もっとも早い期間が、最小日数に満たない場合は週0となり、最小日数以上を含む場合は週1となります。
WeekFieldsの例
日付曜日 最初の曜日: 月曜日
最小日数: 4
最初の曜日: 月曜日
最小日数: 5
2008-12-31水曜日 2008年12月の週52008年12月の週5
2009-01-01木曜日 2009年1月の週12009年1月の週0
2009-01-04日曜日 2009年1月の週12009年1月の週0
2009-01-05月曜日 2009年1月の週22009年1月の週1

年の週

1つのフィールド「年の週番号」が使用されます。 計算では、週が年の境界に重ならないことが保証されます。 定義された最初の曜日で各期間が始まるように、年が期間に分割されます。 もっとも早い期間が、最小日数に満たない場合は週0となり、最小日数以上を含む場合は週1となります。

暦週の基準年

暦週の基準年には2つのフィールドが使用されます。1つは「暦週の基準年の週番号」、もう1つは「暦週の基準年」です。 暦週の基準年では、各週は1つの年だけに属します。 年の週1は、最初の曜日で始まり最小日数以上を含む最初の週です。 年の最初の週は前の暦年の日を含む可能性があり、最後の週は次の暦年の日を含む可能性があります。
暦週の基準年のWeekFieldsの例
日付曜日 最初の曜日: 月曜日
最小日数: 4
最初の曜日: 月曜日
最小日数: 5
2008-12-31水曜日 2009年の週12008年の週53
2009-01-01木曜日 2009年の週12008年の週53
2009-01-04日曜日 2009年の週12008年の週53
2009-01-05月曜日 2009年の週22009年の週1
実装要件:
このクラスは不変でスレッドセーフです。
導入されたバージョン:
1.8
関連項目: