1.LocalTimeクラス

このLocalTimeクラスは、日付を指定せずに時間を扱う必要がある場合のために作成されました。たとえば、目覚まし時計アプリケーションを作成しているとします。時間は気にしますが、日付は気にしません。

このLocalTimeクラスはクラスと非常に似ておりLocalDate、そのオブジェクトも同様に作成後に変更できません。

現在時刻の取得

新しいLocalTimeオブジェクトを作成するには、静的メソッドを使用する必要がありますnow()。例:

LocalTime time = LocalTime.now();

ここで、timeLocalTime変数、 はクラスの静的メソッドの呼び出しです。LocalTime.now()now()LocalTime

例:

コード コンソール出力
LocalTime time = LocalTime.now();
System.out.println("Now = " + time);

Now = 09:13:13.642881600

ドットの後には現在のナノ秒数が続きます。

2. 特定の時刻を取得する

特定の時刻を取得するには、静的of()メソッドを使用する必要があります。例:

LocalTime time = LocalTime.of(hours, minutes, seconds, nanoseconds);

時、分、秒、ナノ秒を渡します。

例:

コード コンソール出力
LocalTime time = LocalTime.of(12, 15, 0, 100);
System.out.println("Now = " + time);
Now = 12:15:00.000000100

ちなみに、この方法にはさらに 2 つのバリエーションがあります。

LocalTime time = LocalTime.of(hours, minutes, seconds);

LocalTime time = LocalTime.of(hours, minutes);

したがって、自分にとって使いやすい方を使用できます。

秒のインデックスに基づいて時間を取得する

1日を1秒単位で時刻を知ることもできます。これを行うには、静的ofSecondOfDay()メソッドがあります。

LocalTime time = LocalTime.ofSecondOfDay(seconds);

ここで、秒はその日の始まりからの秒数です。

例:

コード コンソール出力
LocalTime time = LocalTime.ofSecondOfDay(10000);
System.out.println(time);

02:46:40

はい、10,000 秒は 3 時間弱です。それはすべて正しいです。

3. 時間の要素を取得する

オブジェクトから時間の特定の要素の値を取得するにはLocalTime、次のメソッドがあります。

方法 説明
int getHour()
時間を返します
int getMinute()
分を返します
int getSecond()
秒を返します
int getNano()
ナノ秒を返します

例:

コード コンソール出力
LocalTime now = LocalTime.now();
System.out.println(now.getHour());
System.out.println(now.getMinute());
System.out.println(now.getSecond());
System.out.println(now.getNano());

2
46
40
0

LocalTime4.オブジェクト内の時間を変更する

このLocalTimeクラスには、時間を操作できるメソッドもあります。これらのメソッドの実装はクラスのメソッドに似ていますLocalDate。既存のオブジェクトは変更されませんLocalTimeが、代わりに必要なデータを含む新しいオブジェクトが返されます。

クラスのメソッドは次のとおりですLocalTime

方法 説明
plusHours(int hours)
時間を追加します
plusMinutes(int minutes)
分を追加します
plusSeconds(int seconds)
秒を追加します
plusNanos(int nanos)
ナノ秒を追加します
minusHours(int hours)
時間を減算します
minusMinutes(int minutes)
分を減算します
minusSeconds(int seconds)
秒を減算します
minusNanos(int nanos)
ナノ秒を減算します

例:

コード コンソール出力
LocalTime time = LocalTime.now();
LocalTime time2 = time.plusHours(2);
LocalTime time3 = time.minusMinutes(40);
LocalTime time4 = time.plusSeconds(3600);

System.out.println(time);
System.out.println(time2);
System.out.println(time3);
System.out.println(time4);





10:33:55.978012200
12:33:55.978012200
09:53:55.978012200
11:33:55.978012200

いずれの場合も、元のオブジェクトを基準とした新しい時間が取得されることに注意してくださいtime3600 seconds時間を加算する場合は、正確に を加算します1hour