- java.lang.Object
-
- java.time.temporal.IsoFields
-
public final class IsoFields extends Object
四半期、暦週の基準年など、ISO-8601暦体系に固有のフィールドと単位です。このクラスは、ISO暦体系に固有のフィールドと単位を定義します。
四半期
ISO-8601標準は、標準の12か月からなる年に基づいています。 これは一般的に4つの四半期に分割され、Q1、Q2、Q3、Q4と省略されることがよくあります。1月、2月および3月はQ1に含まれます。 4月、5月および6月はQ2に含まれます。 7月、8月および9月はQ3に含まれます。 10月、11月および12月はQ4に含まれます。
完全な日付は次の3つのフィールドを使用して表されます。
DAY_OF_QUARTER
- 四半期の何日目か。1から90、91または92QUARTER_OF_YEAR
- 年内の四半期、1から4YEAR
- 標準のISO暦の年
暦週の基準年
ISO-8601標準は当初、日付と時間の文字列フォーマットを定義するデータ交換フォーマットとして意図されました。 ただし、暦週の基準年の概念に基づいて日付を表現する代替方法も定義しています。日付は次の3つのフィールドを使用して表されます。
DAY_OF_WEEK
- 月曜(1)から日曜(7)までの曜日を定義する標準フィールドWEEK_OF_WEEK_BASED_YEAR
- 暦週の基準年の何週目かWEEK_BASED_YEAR
- 暦週の基準年
暦週の基準年の最初の週は、標準のISO暦の年の新年の少なくとも4日間を含む、月曜日から始まる最初の週です。
- 1月1日が月曜日の場合、週1は1月1日から始まります。
- 1月1日が火曜日の場合、週1は1つ前の標準の年の12月31日から始まります。
- 1月1日が水曜日の場合、週1は1つ前の標準の年の12月30日から始まります。
- 1月1日が木曜日の場合、週1は1つ前の標準の年の12月29日から始まります。
- 1月1日が金曜日の場合、週1は1月4日から始まります。
- 1月1日が土曜日の場合、週1は1月3日から始まります。
- 1月1日が日曜日の場合、週1は1月2日から始まります。
たとえば、
暦週の基準年の例 日付 曜日 フィールド値 2008-12-28 日曜日 暦週の基準年2008の週52 2008-12-29 月曜日 暦週の基準年2009の週1 2008-12-31 水曜日 暦週の基準年2009の週1 2009-01-01 木曜日 暦週の基準年2009の週1 2009-01-04 日曜日 暦週の基準年2009の週1 2009-01-05 月曜日 暦週の基準年2009の週2 - 実装要件:
このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static TemporalField
DAY_OF_QUARTER
四半期の何日目かを表すフィールドです。static TemporalField
QUARTER_OF_YEAR
四半期を表すフィールドです。static TemporalUnit
QUARTER_YEARS
四半期の概念を表す単位です。static TemporalField
WEEK_BASED_YEAR
暦週の基準年を表すフィールドです。static TemporalUnit
WEEK_BASED_YEARS
加算および減算の目的で暦週の基準年を表す単位です。static TemporalField
WEEK_OF_WEEK_BASED_YEAR
暦週の基準年の何週目かを表すフィールドです。
-
-
-
フィールドの詳細
-
DAY_OF_QUARTER
public static final TemporalField DAY_OF_QUARTER
四半期の何日目かを表すフィールドです。このフィールドでは、四半期の何日目かを表す値の問合せと設定ができます。 「四半期の日」の値は、標準の年のQ1では1から90まで、うるう年のQ1では1から91まで、Q2では1から91まで、Q3とQ4では1から92までになります。
「四半期の日」を計算できるのは、「年の日」、月、および年が使用可能な場合のみです。
このフィールドの設定時は、値は部分的に非厳密であることが許され、1から92までの任意の値を取ることができます。 四半期が92日未満の場合、日92は次の四半期に含まれ、日91もその可能性があります。
解析時の解決フェーズでは、年、四半期、および「四半期の日」から日付を作成できます。
厳密モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。 四半期の日フィールドは、年と四半期に応じて、1から90、91または92の間で検証されます。
スマート・モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。 四半期の日フィールドは、年と四半期に基づく実際の範囲を無視して、1から92の間で検証されます。 四半期の日が実際の範囲を1日だけ超える場合、結果となる日付は1日後の日付になります。 四半期の日が実際の範囲を2日だけ超える場合、結果となる日付は2日後の日付になります。
非厳密モードでは、年だけが有効値の範囲に対して検証されます。 結果となる日付は、次の3段階方式と等価の方法で計算されます。 まず、要求された年の1月1日において日付を作成します。 次に、四半期の値から1を減算し、その四半期数を日付に加算します。 最後に、四半期の日の値から1を減算し、その日数を日付に加算します。
この単位は不変でスレッドセーフなシングルトンです。
-
QUARTER_OF_YEAR
public static final TemporalField QUARTER_OF_YEAR
四半期を表すフィールドです。このフィールドでは、四半期を表す値の問合せと設定ができます。 四半期の値は1から4までです。
四半期を計算できるのは、月が使用可能な場合のみです。
解析時の解決フェーズでは、年、四半期、および四半期の日から日付を作成できます。 詳細は、
DAY_OF_QUARTER
を参照してください。この単位は不変でスレッドセーフなシングルトンです。
-
WEEK_OF_WEEK_BASED_YEAR
public static final TemporalField WEEK_OF_WEEK_BASED_YEAR
暦週の基準年の何週目かを表すフィールドです。このフィールドでは、暦週の基準年の何週目かを表す値の問合せと設定ができます。 「暦週の基準年の週番号」の値は1から52 (暦週の基準年に53週ある場合は53)までです。
解析時の解決フェーズでは、「暦週の基準年」、「暦週の基準年の週番号」、および曜日から日付を作成できます。
厳密モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。 暦週の基準年の週番号フィールドは、暦週の基準年に応じて、1から52または53の間で検証されます。
スマート・モードでは、3つすべてのフィールドがそれぞれの有効値の範囲に対して検証されます。 暦週の基準年の週番号フィールドは、暦週の基準年を無視して、1から53の間で検証されます。 暦週の基準年の週番号が53で、暦週の基準年に52週しかない場合、結果となる日付は次の暦週の基準年の週1に含まれます。
非厳密モードでは、暦週の基準年だけが有効値の範囲に対して検証されます。 曜日が1から7の範囲外にある場合、結果となる日付は、曜日が1から7の範囲に収まるように適切な週数だけ調整されます。 暦週の基準年の週番号の値が1から52の範囲外にある場合は、結果となる日付に対して超過週数が加算または減算されます。
この単位は不変でスレッドセーフなシングルトンです。
-
WEEK_BASED_YEAR
public static final TemporalField WEEK_BASED_YEAR
暦週の基準年を表すフィールドです。このフィールドでは、暦週の基準年を表す値の問合せと設定ができます。
フィールドの範囲は
LocalDate.MAX
とLocalDate.MIN
に一致します。解析時の解決フェーズでは、暦週の基準年、暦週の基準年の週番号、および曜日から日付を作成できます。 詳細は、
WEEK_OF_WEEK_BASED_YEAR
を参照してください。この単位は不変でスレッドセーフなシングルトンです。
-
WEEK_BASED_YEARS
public static final TemporalUnit WEEK_BASED_YEARS
加算および減算の目的で暦週の基準年を表す単位です。これを使用すると、暦週の基準年の数を日付に加算または減算できます。 単位は52週または53週と等しくなります。 暦週の基準年の推定デュレーションは、標準のISO暦の年と同じ
365.2425日
です。加算ルールでは、暦週の基準年の数が「暦週の基準年」フィールドの既存値に加算されます。 結果となる暦週の基準年に52週しかない場合、日付は次の暦週の基準年の週1に含まれます。
この単位は不変でスレッドセーフなシングルトンです。
-
QUARTER_YEARS
public static final TemporalUnit QUARTER_YEARS
四半期の概念を表す単位です。 ISO暦体系の場合、これは3か月と等しくなります。 四半期の推定デュレーションは、365.2425日
の4分の1です。この単位は不変でスレッドセーフなシングルトンです。
-
-