- java.lang.Object
- 
- java.lang.Enum<TimeUnit>
- 
- java.util.concurrent.TimeUnit
 
 
- 
- すべての実装されたインタフェース:
- Serializable,- Comparable<TimeUnit>
 
 public enum TimeUnit extends Enum<TimeUnit> TimeUnitは、指定された粒度単位でデュレーションを表し、単位を変換したり、それらの単位でタイミングおよび遅延操作を実行したりするユーティリティ・メソッドを提供します。TimeUnitは、時間情報を保持せず、さまざまなコンテキスト間で独立して保持される時間表現の整理および使用だけを行うことができます。 ナノ秒はマイクロ秒の1000分の1、マイクロ秒はミリ秒の1000分の1、ミリ秒は秒の1000分の1、分は60秒、時は60分、日は24時間としてそれぞれ定義されます。TimeUnitは、主に時間ベースのメソッドに対して、指定されたタイミング・パラメータの解釈方法を指示するために使用します。 たとえば、lockが使用できない場合、次のコードは50ミリ秒でタイム・アウトします。
 一方、次のコードは、50秒でタイム・アウトします。Lock lock = ...; if (lock.tryLock(50L, TimeUnit.MILLISECONDS)) ...
 ただし、特定のタイム・アウト実装で、指定されたLock lock = ...; if (lock.tryLock(50L, TimeUnit.SECONDS)) ...TimeUnitと同じ粒度で時間経過を通知できる保証はないことに注意してください。- 導入されたバージョン:
- 1.5
 
- 
- 
列挙型定数のサマリー列挙型定数 列挙型定数 説明 DAYS24時間を表す時間単位HOURS60分を表す時間単位MICROSECONDSミリ秒の1000分の1を表す時間単位MILLISECONDS秒の1000分の1を表す時間単位MINUTES60秒を表す時間単位NANOSECONDSマイクロ秒の1000分の1を表す時間単位SECONDS1秒を表す時間単位
 - 
メソッドのサマリーすべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 longconvert(long sourceDuration, TimeUnit sourceUnit)指定された単位による指定されたデュレーションを、この単位に変換します。static TimeUnitof(ChronoUnit chronoUnit)ChronoUnitを同等のTimeUnitに変換します。voidsleep(long timeout)この時間単位を使用して、Thread.sleepを実行します。voidtimedJoin(Thread thread, long timeout)この時間単位を使用して、時間指定されたThread.joinを実行します。voidtimedWait(Object obj, long timeout)この時間単位を使用して、時間指定されたObject.waitを実行します。ChronoUnittoChronoUnit()このTimeUnitを同等のChronoUnitに変換します。longtoDays(long duration)longtoHours(long duration)longtoMicros(long duration)longtoMillis(long duration)longtoMinutes(long duration)longtoNanos(long duration)longtoSeconds(long duration)static TimeUnitvalueOf(String name)指定された名前を持つ、この型の列挙型定数を返します。static TimeUnit[]values()この列挙型の定数を含む配列を、宣言されている順序で返します。
 
- 
- 
- 
列挙型定数の詳細- 
NANOSECONDSpublic static final TimeUnit NANOSECONDS マイクロ秒の1000分の1を表す時間単位
 - 
MICROSECONDSpublic static final TimeUnit MICROSECONDS ミリ秒の1000分の1を表す時間単位
 - 
MILLISECONDSpublic static final TimeUnit MILLISECONDS 秒の1000分の1を表す時間単位
 - 
SECONDSpublic static final TimeUnit SECONDS 1秒を表す時間単位
 - 
MINUTESpublic static final TimeUnit MINUTES 60秒を表す時間単位- 導入されたバージョン:
- 1.6
 
 - 
HOURSpublic static final TimeUnit HOURS 60分を表す時間単位- 導入されたバージョン:
- 1.6
 
 - 
DAYSpublic static final TimeUnit DAYS 24時間を表す時間単位- 導入されたバージョン:
- 1.6
 
 
- 
 - 
メソッドの詳細- 
valuespublic static TimeUnit[] values() この列挙型の定数を含む配列を、宣言されている順序で返します。 このメソッドは、次のようにして定数を反復するために使用できます。for (TimeUnit c : TimeUnit.values()) System.out.println(c); - 戻り値:
- この列挙型の定数を含む配列(宣言されている順序)
 
 - 
valueOfpublic static TimeUnit valueOf(String name) 指定された名前を持つ、この型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に一致している必要があります。 不適切な空白文字は許可されません。- パラメータ:
- name- 返される列挙型定数の名前。
- 戻り値:
- 指定された名前を持つ列挙型定数
- 例外:
- IllegalArgumentException- 指定された名前を持つ定数をこの列挙型が持っていない場合
- NullPointerException- 引数がnullの場合
 
 - 
convertpublic long convert(long sourceDuration, TimeUnit sourceUnit)指定された単位による指定されたデュレーションを、この単位に変換します。 粒度の細かいほうから粗いほうへの変換では切詰めが発生するため、精度が失われます。 たとえば、999ミリ秒を秒に変換すると0になります。 粒度の粗いほうから細かいほうへの変換で、数値的にオーバーフローが発生する引数を指定すると、負の場合はLong.MIN_VALUE、正の場合はLong.MAX_VALUEになります。たとえば、10分をミリ秒に変換するには、 TimeUnit.MILLISECONDS.convert(10L, TimeUnit.MINUTES)を使用します。- パラメータ:
- sourceDuration- 指定された- sourceUnitでのデュレーション
- sourceUnit-- sourceDuration引数の単位
- 戻り値:
- この単位での変換されたデュレーション。変換が負にオーバーフローする場合はLong.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
 
 - 
toNanospublic long toNanos(long duration) - パラメータ:
- duration- デュレーション
- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合はLong.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
 
 - 
toMicrospublic long toMicros(long duration) - パラメータ:
- duration- デュレーション
- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合はLong.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
 
 - 
toMillispublic long toMillis(long duration) - パラメータ:
- duration- デュレーション
- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合はLong.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
 
 - 
toSecondspublic long toSeconds(long duration) - パラメータ:
- duration- デュレーション
- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合はLong.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
 
 - 
toMinutespublic long toMinutes(long duration) - パラメータ:
- duration- デュレーション
- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合はLong.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
- 導入されたバージョン:
- 1.6
 
 - 
toHourspublic long toHours(long duration) - パラメータ:
- duration- デュレーション
- 戻り値:
- 変換されたデュレーション。変換が負にオーバーフローする場合はLong.MIN_VALUE、正にオーバーフローする場合はLong.MAX_VALUE。
- 導入されたバージョン:
- 1.6
 
 - 
toDayspublic long toDays(long duration) - パラメータ:
- duration- デュレーション
- 戻り値:
- 変換されたデュレーション
- 導入されたバージョン:
- 1.6
 
 - 
timedWaitpublic void timedWait(Object obj, long timeout) throws InterruptedException この時間単位を使用して、時間指定されたObject.waitを実行します。 このメソッドは、timeout引数をObject.waitメソッドで要求される形式に変換する簡易メソッドです。たとえば、次を使用して、ブロックする pollメソッドを実装できます(BlockingQueue.pollを参照)。public E poll(long timeout, TimeUnit unit) throws InterruptedException { synchronized (lock) { while (isEmpty()) { unit.timedWait(lock, timeout); ... } } }- パラメータ:
- obj- 待機するオブジェクト
- timeout- 待機する最長時間。 ゼロまたはそれより小さい場合は待機しない。
- 例外:
- InterruptedException- 待機中に割込みが発生した場合
 
 - 
timedJoinpublic void timedJoin(Thread thread, long timeout) throws InterruptedException この時間単位を使用して、時間指定されたThread.joinを実行します。 このメソッドは、time引数をThread.joinメソッドで要求される形式に変換する簡易メソッドです。- パラメータ:
- thread- 待機するスレッド
- timeout- 待機する最長時間。 ゼロまたはそれより小さい場合は待機しない。
- 例外:
- InterruptedException- 待機中に割込みが発生した場合
 
 - 
sleeppublic void sleep(long timeout) throws InterruptedExceptionこの時間単位を使用して、Thread.sleepを実行します。 これは、time引数をThread.sleepメソッドで要求される形式に変換する簡易メソッドです。- パラメータ:
- timeout- スリープする最小時間。 ゼロまたはそれより小さい場合はスリープしない。
- 例外:
- InterruptedException- スリープ中に割込みが発生した場合
 
 - 
toChronoUnitpublic ChronoUnit toChronoUnit() このTimeUnitを同等のChronoUnitに変換します。- 戻り値:
- 変換された同等のChronoUnit
- 導入されたバージョン:
- 9
 
 - 
ofpublic static TimeUnit of(ChronoUnit chronoUnit) ChronoUnitを同等のTimeUnitに変換します。- パラメータ:
- chronoUnit- 変換するChronoUnit
- 戻り値:
- 変換された同等のTimeUnit
- 例外:
- IllegalArgumentException-- chronoUnitに相当するTimeUnitがない場合
- NullPointerException-- chronoUnitがnullの場合
- 導入されたバージョン:
- 9
 
 
- 
 
-