Java プログラミングでは、時間を秒単位またはナノ秒単位で測定する必要がある場合があります。たとえば、さまざまな時間枠の時間差を比較して計算したり、計算された分、秒、またはナノ秒を返したりします。そのような場合、「 期間クラス 」 Java は、時間関連の機能を効果的に操作するのに役立ちます。
このブログでは、Java での「期間クラス」の適用について詳しく説明します。
Java期間クラスとは?
「 間隔 」は、秒およびナノ秒単位で時間を測定するために使用される Java 時間ライブラリに存在する値ベースのクラスです。また、このクラスは不変でスレッドセーフです。
期間クラスのメソッド
以下は、Duration クラスの重要なメソッドの一部です。
メソッド | 使用法 |
addTo(テンポラルテンポラル) | この期間を特定の時間オブジェクトに追加するために使用されます。 |
get(時間単位) | 要求された単位値を取得するために使用されます。 |
abs() | 長さの正のコピーを返します。 |
間の期間(時間開始を含む、時間終了を含まない) | このメソッドは、2 つのオブジェクト (時間的) 間の期間を見つけます。 |
plus(持続時間) | この期間のコピーに、提供された期間が追加されたものを提供するために適用されます。 |
マイナス(持続時間) | このメソッドは、指定された期間を差し引いた期間とともに、この期間のコピーを提供するために使用されます。 |
getNano() | この期間の秒単位でナノ秒をフェッチします。 |
getSeconds() | この期間の秒を取得します。 |
of(ロング量、時間単位) | このメソッドは、指定された単位の量に対応する Duration を取得します。 |
ofSeconds(長い秒) | 秒数を参照する Duration を取得します。 |
のナノス(ロングイン) | ナノ秒数に対応する Duration を取得します。 |
ofMinutes(長い分) | 分数を表す Duration を取得します。 |
ofMillis(ロングミリス) | このメソッドは、ミリ秒を表す Duration を取得します。 |
ofHours(長時間) | 標準/デフォルトの時間を参照する Duration を取得します。 |
ofDays(長い日) | 標準/デフォルトの 24 時間制の日数を示す Duration を取得します。 |
compareTo(期間 x) | 指定された期間と指定された期間を比較します。 |
間の期間(時間開始を含む、時間終了を除く) | 2 つのオブジェクト (時間) 間の期間に対応する Duration を取得します。 |
parse(CharSequence テキスト) | このメソッドは、テキスト文字列から Duration を取得します。 |
from(一時的な金額) | 時間量を介して Duration インスタンスをフェッチします。 |
それでは、「期間クラス」メソッドのいくつかを適用してみましょう。
例に進む前に、以下で提供されるパッケージをインポートして、「 間隔 ' クラス:
java.time.Duration をインポートします。
例 1: Java で Duration クラスの「before()」、「get()」、および「isNegative()」メソッドを適用する
この例では、説明したメソッドを適用し、対応する結果をブール値または計算された秒数の形式で返します。
公開クラス {public static void メイン ( 弦 [ ] 引数 ) {
Duration timeDiff1 = Duration. between ( LocalTime.MAX、LocalTime.NOON ) ;
System.out.println ( timeDiff1.isNegative ( ) ) ;
System.out.println ( timeDiff1.get ( クロノユニット.SECONDS ) ) ;
Duration timeDiff2 = Duration. between ( LocalTime.NOON、LocalTime.MAX ) ;
System.out.println ( timeDiff2.isNegative ( ) ) ;
System.out.println ( timeDiff2.get ( クロノユニット.SECONDS ) ) ;
} }
上記のコード行では:
- まず、「 間() 」 class(Duration) メソッドを使用して、指定された時間の間の時差を返します。
- ノート: 「 マックス ' に対応 ' 23:59:59.99 ' そしてその ' LocalTime.正午 」は「 12:00 」。
- その後、「 isNegative() ブール値の結果を返すことにより、時間差が負であるかどうかを分析するために、計算された差を使用するメソッド。
- また、「 得る() 」メソッドを使用して、計算された差を取得します。
- 今、「 間() 時間枠を交換し、値を分析してそれらの差を返すために説明したアプローチを繰り返します。
出力
この結果では、対応する時間差が計算され、それに応じて負の値が評価されることがわかります。
次の例に進む前に、次の追加パッケージをインポートして、日付と時刻を操作してください。
java.time.temporal.ChronoUnit をインポートします。
例 2: Duration クラスの「from()」、「getDuration()」、「toMinutes()」メソッドの適用
この例では、説明したメソッドを実装して、期間を時間単位で取得し、分単位で取得できます。
公開クラス Durationtime2 {public static void メイン ( 弦 [ ] 引数 ) {
Duration dur = Duration.from ( ChronoUnit.HOURS.getDuration ( ) ) ;
System.out.println ( '分単位の期間は -> ' +dur.toMinutes ( ) ) ;
} }
このコード ブロックでは、結合された「 から() ' と ' getDuration() 」メソッドを使用して、期間を時間単位で取得します。その後、「 toMinutes() 」メソッドを使用して、代わりに期間を分単位で返します。
出力
上記の出力では、対応する 1 時間の分が適切に取得されていることがわかります。
結論
「 間隔 」は、秒およびナノ秒単位で時間を測定するために使用される Java 時間ライブラリの値ベースのクラスです。また、他の期間ベースの単位、つまり「分」や「時間」を使用して呼び出すこともできます。このクラスを使用して、時間枠間の時間差を計算したり、特定の形式で期間を返すことができます。 分 」。この記事では、Java の「期間クラス」の利用について説明しました。