- java.lang.Object
-
- java.lang.Enum<ChronoUnit>
-
- java.time.temporal.ChronoUnit
-
- すべての実装されたインタフェース:
Serializable
,Comparable<ChronoUnit>
,TemporalUnit
public enum ChronoUnit extends Enum<ChronoUnit> implements TemporalUnit
日付期間の単位の標準セット。この単位セットは、日付、時間、または日付/時間を操作するための単位ベースのアクセスを提供します。 標準の単位セットは、
TemporalUnit
を実装することによって拡張できます。これらの単位は、複数の暦体系に適用できると想定されています。 たとえば、ISO以外の暦体系の多くは、ルールは多少異なっても、年、月、および日の単位を定義しています。 各単位のドキュメントには、その単位の動作が説明されています。
- 実装要件:
- これは不変でスレッドセーフな最終の列挙型です。
- 導入されたバージョン:
- 1.8
-
-
列挙型定数のサマリー
列挙型定数 列挙型定数 説明 CENTURIES
1世紀の概念を表す単位。DAYS
1日の概念を表す単位。DECADES
1デケイドの概念を表す単位。ERAS
1紀元の概念を表す単位。FOREVER
永遠の概念を表す人為的単位。HALF_DAYS
午前/午後で使用される半日の概念を表す単位。HOURS
1時間の概念を表す単位。MICROS
1マイクロ秒の概念を表す単位。MILLENNIA
1ミレニアムの概念を表す単位。MILLIS
1ミリ秒の概念を表す単位。MINUTES
1分の概念を表す単位。MONTHS
1か月の概念を表す単位。NANOS
1ナノ秒の概念を表す単位。サポートされている最小の時間単位。SECONDS
1秒の概念を表す単位。WEEKS
1週の概念を表す単位。YEARS
1年の概念を表す単位。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 <R extends Temporal>
RaddTo(R temporal, long amount)
指定された期間を加算して、指定された時間的オブジェクトのコピーを返します。long
between(Temporal temporal1Inclusive, Temporal temporal2Exclusive)
2つの時間的オブジェクトの間の時間量を計算します。Duration
getDuration()
ISO暦体系におけるこの単位の推定デュレーションを取得します。boolean
isDateBased()
この単位が日付の単位かどうかをチェックします。boolean
isDurationEstimated()
単位のデュレーションが推定値かどうかをチェックします。boolean
isSupportedBy(Temporal temporal)
指定された時間的オブジェクトでこの単位がサポートされているかどうかを確認します。boolean
isTimeBased()
この単位が時間の単位かどうかをチェックします。String
toString()
宣言に含まれるとおりのenum定数の名前を返します。static ChronoUnit
valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。static ChronoUnit[]
values()
この列挙型の定数を含む配列を、宣言されている順序で返します。
-
-
-
列挙型定数の詳細
-
NANOS
public static final ChronoUnit NANOS
1ナノ秒の概念を表す単位。サポートされている最小の時間単位。 ISO暦体系の場合、これは秒の単位の1,000,000,000分の1と等しくなります。
-
MICROS
public static final ChronoUnit MICROS
1マイクロ秒の概念を表す単位。 ISO暦体系の場合、これは秒の単位の1,000,000分の1と等しくなります。
-
MILLIS
public static final ChronoUnit MILLIS
1ミリ秒の概念を表す単位。 ISO暦体系の場合、これは秒の単位の1000分の1と等しくなります。
-
SECONDS
public static final ChronoUnit SECONDS
1秒の概念を表す単位。 ISO暦体系の場合、うるう秒を除いて、これはSI単位系の秒と等しくなります。
-
MINUTES
public static final ChronoUnit MINUTES
1分の概念を表す単位。 ISO暦体系の場合、これは60秒と等しくなります。
-
HOURS
public static final ChronoUnit HOURS
1時間の概念を表す単位。 ISO暦体系の場合、これは60分と等しくなります。
-
HALF_DAYS
public static final ChronoUnit HALF_DAYS
午前/午後で使用される半日の概念を表す単位。 ISO暦体系の場合、これは12時間と等しくなります。
-
DAYS
public static final ChronoUnit DAYS
1日の概念を表す単位。 ISO暦体系の場合、これは深夜零時から深夜零時までの標準的な1日です。 1日の推定デュレーションは24時間
です。他の暦体系で使用される場合、これは地球上の日の出と日の入りによって定義される日に対応する必要があります。 日が深夜零時に始まる必要はありません。暦体系の間の変換では、日付は正午において等価になるべきです。
-
WEEKS
public static final ChronoUnit WEEKS
1週の概念を表す単位。 ISO暦体系の場合、これは7日と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があります。
-
MONTHS
public static final ChronoUnit MONTHS
1か月の概念を表す単位。 ISO暦体系の場合、1か月の長さは月によって異なります。 1か月の推定デュレーションは365.2425日
の12分の1です。他の暦体系で使用される場合、これは整数の日数に対応する必要があります。
-
YEARS
public static final ChronoUnit YEARS
1年の概念を表す単位。 ISO暦体系の場合、これは12か月と等しくなります。 1年の推定デュレーションは365.2425日
です。他の暦体系で使用される場合、これは太陽を中心とした地球の周回によって定義される1年にほぼ等しい、整数の日数または月数に対応する必要があります。
-
DECADES
public static final ChronoUnit DECADES
1デケイドの概念を表す単位。 ISO暦体系の場合、これは10年と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があり、通常は整数の年数です。
-
CENTURIES
public static final ChronoUnit CENTURIES
1世紀の概念を表す単位。 ISO暦体系の場合、これは100年と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があり、通常は整数の年数です。
-
MILLENNIA
public static final ChronoUnit MILLENNIA
1ミレニアムの概念を表す単位。 ISO暦体系の場合、これは1000年と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があり、通常は整数の年数です。
-
ERAS
public static final ChronoUnit ERAS
1紀元の概念を表す単位。 ISO暦体系には紀元がないため、日付または日付/時間に紀元を加算することはできません。 紀元の推定デュレーションは1,000,000,000年
として人為的に定義されています。他の暦体系で使用される場合、この単位に制約はありません。
-
FOREVER
public static final ChronoUnit FOREVER
永遠の概念を表す人為的単位。 これは主にTemporalField
とともに使用され、年や紀元のような無制限のフィールドを表します。 このユニットの推定期間は、Duration
によってサポートされる最大の期間として人為的に定義されます。
-
-
メソッドの詳細
-
values
public static ChronoUnit[] values()
この列挙型の定数を含む配列を、宣言されている順序で返します。 このメソッドは、次のようにして定数を反復するために使用できます。for (ChronoUnit c : ChronoUnit.values()) System.out.println(c);
- 戻り値:
- この列挙型の定数を含む配列(宣言されている順序)
-
valueOf
public static ChronoUnit valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
name
- 返される列挙型定数の名前。- 戻り値:
- 指定された名前を持つ列挙型定数
- 例外:
IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数がnullの場合
-
getDuration
public Duration getDuration()
ISO暦体系におけるこの単位の推定デュレーションを取得します。このクラスの単位すべてに推定デュレーションがあります。 日の長さはサマー・タイムのために変化し、月の長さは様々です。
- 定義:
- インタフェース
TemporalUnit
のgetDuration
- 戻り値:
- この単位の推定デュレーション。null以外
-
isDurationEstimated
public boolean isDurationEstimated()
単位のデュレーションが推定値かどうかをチェックします。このクラスの時間の単位はすべて正確と見なされ、このクラスの日付の単位はすべて推定と見なされます。
この定義では、うるう秒は無視されますが、日の長さはサマー・タイムのために変化し、月の長さは様々であることが考慮されます。
- 定義:
- インタフェース
TemporalUnit
のisDurationEstimated
- 戻り値:
- デュレーションが推定の場合はtrue、正確な場合はfalse
-
isDateBased
public boolean isDateBased()
この単位が日付の単位かどうかをチェックします。日から紀元まで(これらを含む)の単位は、すべて日付ベースです。 時間ベースの単位と
FOREVER
からはfalseが返されます。- 定義:
- インタフェース
TemporalUnit
のisDateBased
- 戻り値:
- 日付の単位の場合はtrue、時間の単位の場合はfalse
-
isTimeBased
public boolean isTimeBased()
この単位が時間の単位かどうかをチェックします。ナノ秒から半日まで(これらを含む)の単位は、すべて時間ベースです。 日付ベースの単位と
FOREVER
からはfalseが返されます。- 定義:
- インタフェース
TemporalUnit
のisTimeBased
- 戻り値:
- 時間の単位の場合はtrue、日付の単位の場合はfalse
-
isSupportedBy
public boolean isSupportedBy(Temporal temporal)
次のインタフェースからコピーされた説明:TemporalUnit
指定された時間的オブジェクトでこの単位がサポートされているかどうかを確認します。これは、実装側の日付/時間がこの単位を加算/減算できることを確認します。 これを使用すると、例外のスローを回避できます。
このデフォルトの実装は、
Temporal.plus(long, TemporalUnit)
を使用して値を求めます。- 定義:
- インタフェース
TemporalUnit
のisSupportedBy
- パラメータ:
temporal
- チェックする時間的オブジェクト。null以外- 戻り値:
- 単位がサポートされている場合はtrue
-
addTo
public <R extends Temporal> R addTo(R temporal, long amount)
次のインタフェースからコピーされた説明:TemporalUnit
指定された期間を加算して、指定された時間的オブジェクトのコピーを返します。加算される期間はこの単位の倍数です。 たとえば、このメソッドを使用して、ある日付に「3日」を加算することができます。それには、「日」を表すインスタンスに対してこのメソッドを呼び出し、日付と期間「3」を渡します。 加算する期間は負でもよく、それは減算と等価です。
このメソッドを使用する等価な方法が2つあります。 1つ目はこのメソッドを直接呼び出すことです。 2つ目は
Temporal.plus(long, TemporalUnit)
を使用することです。// these two lines are equivalent, but the second approach is recommended temporal = thisUnit.addTo(temporal); temporal = temporal.plus(thisUnit);
2つ目の方法plus(TemporalUnit)
の方がコードを読むときにわかりやすいため、これを使用することをお薦めします。実装では、問合せや計算を実行する場合、
ChronoUnit
で使用可能な単位、またはChronoField
で使用可能なフィールドを使用するようにしてください。 単位がサポートされていない場合は、UnsupportedTemporalTypeException
をスローする必要があります。実装では、指定された時間的オブジェクトを変更してはいけません。 かわりに、元のオブジェクトの調整済のコピーを返す必要があります。 これは、不変および可変の実装に安全で等価な動作を提供します。
- 定義:
- インタフェース
TemporalUnit
のaddTo
- 型パラメータ:
R
- Temporalオブジェクトの型- パラメータ:
temporal
- 調整する時間的オブジェクト。null以外amount
- 加算するこの単位の量。正または負- 戻り値:
- 調整された時間的オブジェクト。null以外
-
between
public long between(Temporal temporal1Inclusive, Temporal temporal2Exclusive)
次のインタフェースからコピーされた説明:TemporalUnit
2つの時間的オブジェクトの間の時間量を計算します。これは、この単位で量を計算します。 開始点と終了点は時間的オブジェクトで指定され、互換性のある型でなければなりません。 実装では、2番目の型を最初の型のインスタンスに変換してから、量を計算します。 終了が開始より前である場合、結果は負になります。 たとえば、2つの時間的オブジェクト間の時間数での量は、
HOURS.between(startTime, endTime)
を使用して計算できます。計算では、2つの時間的オブジェクト間の完全な単位の数を表す整数を返します。 たとえば、時間11:30と13:29の間の量は、2時間には1分足りないため、時間数では1時間だけになります。
このメソッドを使用する等価な方法が2つあります。 1つ目はこのメソッドを直接呼び出すことです。 2つ目は
Temporal.until(Temporal, TemporalUnit)
を使用することです。// these two lines are equivalent between = thisUnit.between(start, end); between = start.until(end, thisUnit);
この選択は、コードが読みやすくなるのはどちらかに基づいて行ってください。たとえば、このメソッドを使用すると、2つの日付間の日数を計算できます。
long daysBetween = DAYS.between(start, end); // or alternatively long daysBetween = start.until(end, DAYS);
実装では、問合せや計算を実行する場合、
ChronoUnit
で使用可能な単位、またはChronoField
で使用可能なフィールドを使用するようにしてください。 単位がサポートされていない場合は、UnsupportedTemporalTypeException
をスローする必要があります。 実装では、指定された時間的オブジェクトを変更してはいけません。- 定義:
- インタフェース
TemporalUnit
のbetween
- パラメータ:
temporal1Inclusive
- ベースの時間的オブジェクト。null以外temporal2Exclusive
- 他方の時間的オブジェクト(これを含まない)。null以外- 戻り値:
- temporal1Inclusiveとtemporal2Exclusiveの間の時間量をこの単位で表したもの。temporal2Exclusiveがtemporal1Inclusiveより後であれば正、前であれば負
-
toString
public String toString()
次のクラスからコピーされた説明:Enum
宣言に含まれるとおりのenum定数の名前を返します。 このメソッドは不要な場合や不適切な場合にオーバーライドできます。 より「プログラマフレンドリ」な文字列形式が存在する場合、enum型はこのメソッドをオーバーライドする必要があります。- 定義:
- インタフェース
TemporalUnit
のtoString
- オーバーライド:
- クラス
Enum<ChronoUnit>
のtoString
- 戻り値:
- このenum定数の名前
-
-