- すべての実装されたインタフェース:
Serializable
,Comparable<ChronoUnit>
,Constable
,TemporalUnit
この単位セットは、日付、時間、または日付/時間を操作するための単位ベースのアクセスを提供します。 標準の単位セットは、TemporalUnit
を実装することによって拡張できます。
これらの単位は、複数の暦体系に適用できると想定されています。 たとえば、ISO以外の暦体系の多くは、ルールは多少異なっても、年、月、および日の単位を定義しています。 各単位のドキュメントには、その単位の動作が説明されています。
- 実装要件:
- これは不変でスレッドセーフな最終の列挙型です。
- 導入されたバージョン:
- 1.8
-
ネストされたクラスのサマリー
クラスjava.lang.Enumで宣言されたネストされたクラス/インタフェース
Enum.EnumDesc<E extends Enum<E>>
-
列挙型定数のサマリー
列挙型定数列挙型定数説明1世紀の概念を表す単位。1日の概念を表す単位。1デケイドの概念を表す単位。1紀元の概念を表す単位。永遠の概念を表す人為的単位。午前/午後で使用される半日の概念を表す単位。1時間の概念を表す単位。1マイクロ秒の概念を表す単位。1ミレニアムの概念を表す単位。1ミリ秒の概念を表す単位。1分の概念を表す単位。1か月の概念を表す単位。1ナノ秒の概念を表す単位。サポートされている最小の時間単位。1秒の概念を表す単位。1週の概念を表す単位。1年の概念を表す単位。 -
メソッドのサマリー
修飾子と型メソッド説明<R extends Temporal>
RaddTo
(R temporal, long amount) 指定された期間を加算して、指定された時間的オブジェクトのコピーを返します。long
2つの時間的オブジェクトの間の時間量を計算します。ISO暦体系におけるこの単位の推定デュレーションを取得します。boolean
この単位が日付の単位かどうかをチェックします。boolean
単位のデュレーションが推定値かどうかをチェックします。boolean
この単位が時間の単位かどうかをチェックします。toString()
宣言に含まれるとおりのenum定数の名前を返します。static ChronoUnit
指定された名前を持つこのクラスのenum定数を返します。static ChronoUnit[]
values()
この列挙クラスの定数を含む配列を宣言されている順序で 返します。クラスjava.lang.Enumで宣言されたメソッド
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
インタフェースjava.time.temporal.TemporalUnitで宣言されたメソッド
isSupportedBy
-
列挙型定数の詳細
-
NANOS
public static final ChronoUnit NANOS1ナノ秒の概念を表す単位。サポートされている最小の時間単位。 ISO暦体系の場合、これは秒の単位の1,000,000,000分の1と等しくなります。 -
MICROS
public static final ChronoUnit MICROS1マイクロ秒の概念を表す単位。 ISO暦体系の場合、これは秒の単位の1,000,000分の1と等しくなります。 -
MILLIS
public static final ChronoUnit MILLIS1ミリ秒の概念を表す単位。 ISO暦体系の場合、これは秒の単位の1000分の1と等しくなります。 -
SECONDS
public static final ChronoUnit SECONDS1秒の概念を表す単位。 ISO暦体系の場合、うるう秒を除いて、これはSI単位系の秒と等しくなります。 -
MINUTES
public static final ChronoUnit MINUTES1分の概念を表す単位。 ISO暦体系の場合、これは60秒と等しくなります。 -
HOURS
public static final ChronoUnit HOURS1時間の概念を表す単位。 ISO暦体系の場合、これは60分と等しくなります。 -
HALF_DAYS
public static final ChronoUnit HALF_DAYS午前/午後で使用される半日の概念を表す単位。 ISO暦体系の場合、これは12時間と等しくなります。 -
DAYS
public static final ChronoUnit DAYS1日の概念を表す単位。 ISO暦体系の場合、これは深夜零時から深夜零時までの標準的な1日です。 1日の推定デュレーションは24時間
です。他の暦体系で使用される場合、これは地球上の日の出と日の入りによって定義される日に対応する必要があります。 日が深夜零時に始まる必要はありません。暦体系の間の変換では、日付は正午において等価になるべきです。
-
WEEKS
public static final ChronoUnit WEEKS1週の概念を表す単位。 ISO暦体系の場合、これは7日と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があります。
-
MONTHS
public static final ChronoUnit MONTHS1か月の概念を表す単位。 ISO暦体系の場合、1か月の長さは月によって異なります。 1か月の推定デュレーションは365.2425日
の12分の1です。他の暦体系で使用される場合、これは整数の日数に対応する必要があります。
-
YEARS
public static final ChronoUnit YEARS1年の概念を表す単位。 ISO暦体系の場合、これは12か月と等しくなります。 1年の推定デュレーションは365.2425日
です。他の暦体系で使用される場合、これは太陽を中心とした地球の周回によって定義される1年にほぼ等しい、整数の日数または月数に対応する必要があります。
-
DECADES
public static final ChronoUnit DECADES1デケイドの概念を表す単位。 ISO暦体系の場合、これは10年と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があり、通常は整数の年数です。
-
CENTURIES
public static final ChronoUnit CENTURIES1世紀の概念を表す単位。 ISO暦体系の場合、これは100年と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があり、通常は整数の年数です。
-
MILLENNIA
public static final ChronoUnit MILLENNIA1ミレニアムの概念を表す単位。 ISO暦体系の場合、これは1000年と等しくなります。他の暦体系で使用される場合、これは整数の日数に対応する必要があり、通常は整数の年数です。
-
ERAS
public static final ChronoUnit ERAS1紀元の概念を表す単位。 ISO暦体系には紀元がないため、日付または日付/時間に紀元を加算することはできません。 紀元の推定デュレーションは1,000,000,000年
として人為的に定義されています。他の暦体系で使用される場合、この単位に制約はありません。
-
FOREVER
public static final ChronoUnit FOREVER永遠の概念を表す人為的単位。 これは主にTemporalField
とともに使用され、年や紀元のような無制限のフィールドを表します。 このユニットの推定期間は、Duration
によってサポートされる最大の期間として人為的に定義されます。
-
-
メソッドの詳細
-
values
-
valueOf
public static ChronoUnit valueOf(String name) 指定された名前を持つこのクラスのenum定数を返します。 文字列は、このクラスでenum定数を宣言するために使用される識別子と正確に一致する必要があります。 (不適切な空白文字は許可されません。)- パラメータ:
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
-
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
次のインタフェースからコピーされた説明: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定数の名前を返します。 このメソッドは不要な場合や不適切な場合にオーバーライドできます。 列挙型クラスは、より多くの"programmer-friendly"文字列形式が存在する場合、このメソッドをオーバーライドする必要があります。- 定義:
- インタフェース
TemporalUnit
のtoString
- オーバーライド:
- クラス
Enum<ChronoUnit>
のtoString
- 戻り値:
- このenum定数の名前
-