java.time.LocalTimeクラスは、タイムゾーンのない時刻を扱うクラスです。
java.time.LocalTimeの特徴
LocalTimeは以下の特徴があります。
- Java8で追加された比較的新しいAPIである
- 情報として「時、分、秒、ナノ秒」を持つ
(日付に関する情報は持たない) - タイムゾーン情報は持たない
(タイムゾーンを扱いたい場合はZonedDateTimeを使用ください) - イミュータブル(不変)オブジェクトである
java.time.LocalTimeの継承・実装
継承クラス
・java.lang.Object
・java.time.LocalTime
実装インターフェース
・java.io.Serializable
・java.lang.Comparable<LocalTime>
・java.time.temporal.Temporal
・java.time.temporal.TemporalAccessor
・java.time.temporal.TemporalAdjuster
導入バージョン
・JDK1.8
java.time.LocalTimeのAPI
型 | 定数 | 説明 |
---|---|---|
LocalTime | MAX | LocalTimeの最大値 ※「23:59:59.999999999」 |
LocalTime | MIN | LocalTimeの最小値 ※「00:00」 |
LocalTime | MIDNIGHT | その日の開始時の深夜零時の時間である「00:00」 |
LocalTime | NOON | その日の午後零時の時間である「12:00」 |
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
LocalTime | now() | ◯ | デフォルトのタイムゾーン現在日時を取得する |
LocalTime | of(int h, int mi) | ◯ | 時分を指定してLocalTimeを取得する |
LocalTime | of(int h, int mi, int s) | ◯ | 時分秒を指定してLocalTimeを取得する |
int | compareTo(LocalTime d) | LocalTimeを比較する | |
int | getHour() | 時を取得する(0~59) | |
int | getMinute() | 分を取得する(0~59) | |
int | getNano() | ナノ秒を取得する | |
int | getSecond() | 秒を取得する(0~59) | |
LocalTime | minusHours(long hours) | 指定した時間を減算した結果を返す | |
LocalTime | minusMinutes(long minutes) | 指定した分数を減算した結果を返す | |
LocalTime | minusNanos(long nanos) | 指定したナノ秒数を減算した結果を返す | |
LocalTime | minusSeconds(long seconds) | 指定した秒数を減算した結果を返す | |
LocalTime | plusHours(long hours) | 指定した時間を加算した結果を返す | |
LocalTime | plusMinutes(long minutes) | 指定した分数を加算した結果を返す | |
LocalTime | plusNanos(long nanos) | 指定したナノ秒数を加算した結果を返す | |
LocalTime | plusSeconds(long seconds) | 指定した秒数を加算した結果を返す | |
LocalTime | withHour(long hour) | 指定した時に置き換えた結果を返す | |
LocalTime | withMinute(long minute) | 指定した分に置き換えた結果を返す | |
LocalTime | withNano(long nano) | 指定したナノ秒に置き換えた結果を返す | |
LocalTime | withSecond(long second) | 指定した秒に置き換えた結果を返す | |
boolean | isAfter(LocalTime d) | dよりも後の時刻の場合はtrueを返す | |
boolean | isBefore(LocalTime d) | dよりも前の時刻の場合はtrueを返す | |
boolean | isEqual(LocalTime d) | dと同じ時刻の場合はtrueを返す |
java.time.LocalTimeサンプル
- (LocalTimeの生成)
-
// 現在時刻で生成する LocalTime now = LocalTime.now(); System.out.println(now); → 18:27:14.792960600 // 時刻を数値で指定して生成する LocalTime lt = LocalTime.of(10, 20, 30); System.out.println(lt); → 10:20:30
- (時刻の加算)
-
// 3時間加算 LocalTime d = lt.plusHours(3); // -15分加算 LocalTime d = lt.plusMinutes(-15); //結果、15分の減算になります
- (時刻の減算)
-
// 3時間減算 LocalTime d = lt.minusHours(3); // -15分減算 LocalTime d = lt.minusHours(-15); //結果、15分の加算になります
- (時刻の書き換え)
-
// 時を17時に設定する LocalTime d = lt.withHour(17); // 秒を59秒に設定する LocalTime d = lt.withSecond(59);
コメント