モジュール java.base
パッケージ java.time

クラスLocalTime

java.lang.Object
java.time.LocalTime
すべての実装されたインタフェース:
Serializable, Comparable<LocalTime>, Temporal, TemporalAccessor, TemporalAdjuster

public final class LocalTime extends Object implements Temporal, TemporalAdjuster, Comparable<LocalTime>, Serializable
ISO-8601暦体系における、タイムゾーンのない時間(10:15:30など)。

LocalTimeは、時間(時-分-秒として表示されることが多い)を表す不変の日付/時間オブジェクトです。 時間は、ナノ秒の精度まで表されます。 たとえば、「13:45.30.123456789」という値をLocalTimeに格納できます。

このクラスでは、時間またはタイムゾーンを格納したり表現したりしません。 むしろこれは、壁掛け時計に見られるようなローカル時間に関する記述です。 オフセットやタイムゾーンなどの追加情報がなければ、時系列上にインスタントを表現することはできません。

ISO-8601暦体系は、世界中の大部分で現在使われている近代の常用暦体系です。 このAPIは、時刻に対して、すべての暦体系が同じ表現(このクラス)を使用することを想定しています。

これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equalsメソッドを使用することをお薦めします。

実装要件:
このクラスは不変でスレッドセーフです。
導入されたバージョン:
1.8
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final LocalTime
    サポートされている最大のLocalTimeである「23:59:59.999999999」。
    static final LocalTime
    その日の開始時の深夜零時の時間である「00:00」。
    static final LocalTime
    サポートされている最小のLocalTimeである「00:00」。
    static final LocalTime
    その日の午後零時の時間である「12:00」。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    adjustInto(Temporal temporal)
    指定された時間的オブジェクトを、このオブジェクトと同じ時間を持つように調整します。
    この時間を日付と組み合せてLocalDateTimeを作成します。
    この時間をオフセットと組み合せてOffsetTimeを作成します。
    int
    この時間を別の時間と比較します。
    boolean
    この時間がもう一方の時間と等しいかどうかを確認します。
    指定されたフォーマッタを使用してこの時間を書式設定します。
    static LocalTime
    時間的オブジェクトからLocalTimeのインスタンスを取得します。
    int
    指定されたフィールドの値をこの時間からintとして取得します。
    int
    時フィールドを取得します。
    long
    指定されたフィールドの値をこの時間からlongとして取得します。
    int
    分フィールドを取得します。
    int
    ナノ秒フィールドを取得します。
    int
    秒フィールドを取得します。
    int
    この時間のハッシュ・コード。
    boolean
    この時間が、指定された時間より後にあるかどうかをチェックします。
    boolean
    この時間が、指定された時間より前にあるかどうかをチェックします。
    boolean
    指定されたフィールドがサポートされているかどうかをチェックします。
    boolean
    指定された単位がサポートされているかどうかをチェックします。
    minus(long amountToSubtract, TemporalUnit unit)
    指定された量を減算して、この時間のコピーを返します。
    minus(TemporalAmount amountToSubtract)
    指定された量を減算して、この時間のコピーを返します。
    minusHours(long hoursToSubtract)
    指定された時間数を減算して、このLocalTimeのコピーを返します。
    minusMinutes(long minutesToSubtract)
    指定された分数を減算して、このLocalTimeのコピーを返します。
    minusNanos(long nanosToSubtract)
    指定されたナノ秒数を減算して、このLocalTimeのコピーを返します。
    minusSeconds(long secondsToSubtract)
    指定された秒数を減算して、このLocalTimeのコピーを返します。
    static LocalTime
    now()
    デフォルトのタイムゾーンのシステム・クロックから現在の時間を取得します。
    static LocalTime
    now(Clock clock)
    指定されたクロックから現在の時間を取得します。
    static LocalTime
    now(ZoneId zone)
    指定されたタイムゾーンのシステム・クロックから現在の時間を取得します。
    static LocalTime
    of(int hour, int minute)
    時と分からLocalTimeのインスタンスを取得します。
    static LocalTime
    of(int hour, int minute, int second)
    時、分、および秒からLocalTimeのインスタンスを取得します。
    static LocalTime
    of(int hour, int minute, int second, int nanoOfSecond)
    時、分、秒、およびナノ秒からLocalTimeのインスタンスを取得します。
    static LocalTime
    ofInstant(Instant instant, ZoneId zone)
    InstantとゾーンIDからLocalTimeのインスタンスを取得します。
    static LocalTime
    ofNanoOfDay(long nanoOfDay)
    「1日のうちのナノ秒」の値からLocalTimeのインスタンスを取得します。
    static LocalTime
    ofSecondOfDay(long secondOfDay)
    「1日のうちの秒」の値からLocalTimeのインスタンスを取得します。
    static LocalTime
    10:15などのテキスト文字列からLocalTimeのインスタンスを取得します。
    static LocalTime
    特定のフォーマッタを使用して、テキスト文字列からLocalTimeのインスタンスを取得します。
    plus(long amountToAdd, TemporalUnit unit)
    この時刻のコピーに指定された時間を追加したものを返します。
    plus(TemporalAmount amountToAdd)
    この時刻のコピーに指定された時間を追加したものを返します。
    plusHours(long hoursToAdd)
    指定された時間数を加算して、このLocalTimeのコピーを返します。
    plusMinutes(long minutesToAdd)
    指定された分数を加算して、このLocalTimeのコピーを返します。
    plusNanos(long nanosToAdd)
    指定されたナノ秒数を加算して、このLocalTimeのコピーを返します。
    plusSeconds(long secondstoAdd)
    指定された秒数を加算して、このLocalTimeのコピーを返します。
    <R> R
    query(TemporalQuery<R> query)
    指定された問合せを使用してこの時間を問い合せます。
    指定されたフィールドの有効な値の範囲を取得します。
    long
    このLocalTimeを1970-01-01T00:00:00Zの時代からの秒数に変換します。
    long
    時間を1日のナノ秒(0から24 * 60 * 60 * 1,000,000,000 - 1)として抽出します。
    int
    時間を1日のうちの秒数(0から24 * 60 * 60 - 1)として抽出します。
    この時間をStringとして出力します(10:15など)。
    時間が切り捨てられた、このLocalTimeのコピーを返します。
    long
    until(Temporal endExclusive, TemporalUnit unit)
    もう一方の時間までの時間量を指定された単位で計算します。
    この時間の調整済のコピーを返します。
    with(TemporalField field, long newValue)
    指定されたフィールドを新しい値に設定して、この時間のコピーを返します。
    withHour(int hour)
    時の値を変更して、このLocalTimeのコピーを返します。
    withMinute(int minute)
    分の値を変更して、このLocalTimeのコピーを返します。
    withNano(int nanoOfSecond)
    ナノ秒の値を変更して、このLocalTimeのコピーを返します。
    withSecond(int second)
    秒の値を変更して、このLocalTimeのコピーを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • MIN

      public static final LocalTime MIN
      サポートされている最小のLocalTimeである「00:00」。 これは、その日の開始時の深夜零時の時間です。
    • MAX

      public static final LocalTime MAX
      サポートされている最大のLocalTimeである「23:59:59.999999999」。 これは、その日の終わりの深夜零時直前の時間です。
    • MIDNIGHT

      public static final LocalTime MIDNIGHT
      その日の開始時の深夜零時の時間である「00:00」。
    • NOON

      public static final LocalTime NOON
      その日の午後零時の時間である「12:00」。
  • メソッドの詳細

    • now

      public static LocalTime now()
      デフォルトのタイムゾーンのシステム・クロックから現在の時間を取得します。

      これは、デフォルトのタイムゾーンのシステム・クロックを問い合せて、現在の時間を取得します。

      このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。

      戻り値:
      システム・クロックとデフォルトのタイムゾーンを使用する現在の時間。null以外
    • now

      public static LocalTime now(ZoneId zone)
      指定されたタイムゾーンのシステム・クロックから現在の時間を取得します。

      これは、システム・クロックを問い合せて現在の時間を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。

      このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。

      パラメータ:
      zone - 使用するゾーンID、null以外
      戻り値:
      システム・クロックを使用する現在の時間。null以外
    • now

      public static LocalTime now(Clock clock)
      指定されたクロックから現在の時間を取得します。

      これは、指定されたクロックを照会して現在の時間を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックはdependency injectionを使用して導入できます。

      パラメータ:
      clock - 使用するクロック、null以外
      戻り値:
      現在の時間。null以外
    • of

      public static LocalTime of(int hour, int minute)
      時と分からLocalTimeのインスタンスを取得します。

      これは、指定された時と分を使ってLocalTimeを返します。 秒およびナノ秒のフィールドはゼロに設定されます。

      パラメータ:
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      戻り値:
      ローカル時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外にある場合
    • of

      public static LocalTime of(int hour, int minute, int second)
      時、分、および秒からLocalTimeのインスタンスを取得します。

      これは、指定された時、分、および秒を使ってLocalTimeを返します。 ナノ秒フィールドはゼロに設定されます。

      パラメータ:
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      second - 表される秒(0-59)
      戻り値:
      ローカル時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外にある場合
    • of

      public static LocalTime of(int hour, int minute, int second, int nanoOfSecond)
      時、分、秒、およびナノ秒からLocalTimeのインスタンスを取得します。

      これは、指定された時、分、秒、およびナノ秒を使ってLocalTimeを返します。

      パラメータ:
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      second - 表される秒(0-59)
      nanoOfSecond - 表現する「1秒のうちのナノ秒」、0から999,999,999
      戻り値:
      ローカル時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外にある場合
    • ofInstant

      public static LocalTime ofInstant(Instant instant, ZoneId zone)
      InstantとゾーンIDからLocalTimeのインスタンスを取得します。

      これにより、指定された瞬間に基づいて現地時間が作成されます。 まず、ゾーンIDとインスタントを使用してUTC/グリニッジからのオフセットが取得されます。有効なオフセットはインスタントごとに1つしかないため、これは単純です。 次に、インスタントとオフセットを使用して現地時間を計算します。

      パラメータ:
      instant - 時間の作成元のインスタント。null以外
      zone - タイムゾーン。オフセットの場合もある。null以外
      戻り値:
      ローカル時間。null以外
      導入されたバージョン:
      9
    • ofSecondOfDay

      public static LocalTime ofSecondOfDay(long secondOfDay)
      「1日のうちの秒」の値からLocalTimeのインスタンスを取得します。

      これは、指定された「1日のうちの秒」を使ってLocalTimeを返します。 ナノ秒フィールドはゼロに設定されます。

      パラメータ:
      secondOfDay - 「1日のうちの秒」(0-24 * 60 * 60 - 1)
      戻り値:
      ローカル時間。null以外
      例外:
      DateTimeException - 「1日のうちの秒」の値が無効である場合
    • ofNanoOfDay

      public static LocalTime ofNanoOfDay(long nanoOfDay)
      「1日のうちのナノ秒」の値からLocalTimeのインスタンスを取得します。

      これは、指定された「1日のうちのナノ秒」を使ってLocalTimeを返します。

      パラメータ:
      nanoOfDay - 1日のうちのナノ秒(0-24 * 60 * 60 * 1,000,000,000 - 1)
      戻り値:
      ローカル時間。null以外
      例外:
      DateTimeException - 「1日のうちのナノ秒」の値が無効である場合
    • from

      public static LocalTime from(TemporalAccessor temporal)
      時間的オブジェクトからLocalTimeのインスタンスを取得します。

      これは、指定された時間に基づいてローカル時間を取得します。 TemporalAccessorは任意の日付と時間のセットに関する情報を表し、それがこのファクトリでLocalTimeのインスタンスに変換されます。

      この変換では、NANO_OF_DAYフィールドを抽出することに依存しているTemporalQueries.localTime()問合せを使用します。

      このメソッドは関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照LocalTime::fromを介して、問合せとして使用できます。

      パラメータ:
      temporal - 変換する一時オブジェクト、null以外
      戻り値:
      ローカル時間。null以外
      例外:
      DateTimeException - LocalTimeに変換できない場合
    • parse

      public static LocalTime parse(CharSequence text)
      10:15などのテキスト文字列からLocalTimeのインスタンスを取得します。

      この文字列は有効な時間を表している必要があり、DateTimeFormatter.ISO_LOCAL_TIMEを使って解析されます。

      パラメータ:
      text - 「10:15:30」などの解析対象のテキスト。null以外
      戻り値:
      解析されたローカル時間。null以外
      例外:
      DateTimeParseException - テキストが解析できない場合
    • parse

      public static LocalTime parse(CharSequence text, DateTimeFormatter formatter)
      特定のフォーマッタを使用して、テキスト文字列からLocalTimeのインスタンスを取得します。

      そのテキストがフォーマッタを使って解析され、時間が返されます。

      パラメータ:
      text - 解析するテキスト。null以外
      formatter - 使用するフォーマッタ、null以外
      戻り値:
      解析されたローカル時間。null以外
      例外:
      DateTimeParseException - テキストが解析できない場合
    • isSupported

      public boolean isSupported(TemporalField field)
      指定されたフィールドがサポートされているかどうかをチェックします。

      これは、指定されたフィールドをこの時間に問い合せることができるかどうかを確認します。 falseの場合、rangeget、およびwith(TemporalField, long)メソッドの呼び出しは、例外をスローします。

      フィールドがChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは、次のとおりです。

      • NANO_OF_SECOND
      • NANO_OF_DAY
      • MICRO_OF_SECOND
      • MICRO_OF_DAY
      • MILLI_OF_SECOND
      • MILLI_OF_DAY
      • SECOND_OF_MINUTE
      • SECOND_OF_DAY
      • MINUTE_OF_HOUR
      • MINUTE_OF_DAY
      • HOUR_OF_AMPM
      • CLOCK_HOUR_OF_AMPM
      • HOUR_OF_DAY
      • CLOCK_HOUR_OF_DAY
      • AMPM_OF_DAY
      他のすべてのChronoFieldインスタンスはfalseを返します。

      フィールドがChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。

      定義:
      インタフェースTemporalAccessorisSupported
      パラメータ:
      field - チェックするフィールド、nullはfalseを返す
      戻り値:
      フィールドがこの時間でサポートされている場合はtrue、サポートされていない場合はfalse
    • isSupported

      public boolean isSupported(TemporalUnit unit)
      指定された単位がサポートされているかどうかをチェックします。

      これは、指定された単位をこの時間に対して加算または減算できるかどうかをチェックします。 falseの場合、plus(long, TemporalUnit)およびminusメソッドの呼び出しは、例外をスローします。

      単位がChronoUnitの場合、問合せはここで実装されます。 サポートされる単位は次のとおりです。

      • NANOS
      • MICROS
      • MILLIS
      • SECONDS
      • MINUTES
      • HOURS
      • HALF_DAYS
      他のすべてのChronoUnitインスタンスはfalseを返します。

      単位がChronoUnitでない場合、このメソッドの結果は、thisを引数として渡してTemporalUnit.isSupportedBy(Temporal)を呼び出すことによって取得します。 単位がサポートされているかどうかは単位によって決定します。

      定義:
      インタフェースTemporalisSupported
      パラメータ:
      unit - チェックする単位、nullはfalseを返す
      戻り値:
      単位を加算/減算できる場合はtrue、できない場合はfalse
    • range

      public ValueRange range(TemporalField field)
      指定されたフィールドの有効な値の範囲を取得します。

      範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この時間は、返される範囲の精度を高めるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。

      フィールドがChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは適切な範囲のインスタンスを返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

      フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。

      定義:
      インタフェースTemporalAccessorrange
      パラメータ:
      field - 範囲を問い合わせるフィールド、null以外
      戻り値:
      フィールドの有効値の範囲。null以外
      例外:
      DateTimeException - フィールドの範囲を取得できない場合
      UnsupportedTemporalTypeException - フィールドがサポートされていない場合
    • get

      public int get(TemporalField field)
      指定されたフィールドの値をこの時間からintとして取得します。

      これは、指定されたフィールドの値についてこの時間に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。

      フィールドがChronoFieldの場合、ここに問合せを実装します。 supported fieldsは、NANO_OF_DAYMICRO_OF_DAYを除いて、この時間に基づいて有効な値を返します。intにフィットするには大きすぎ、UnsupportedTemporalTypeExceptionをスローします。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

      フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。

      定義:
      インタフェースTemporalAccessorget
      パラメータ:
      field - 取得するフィールド、null以外
      戻り値:
      フィールドの値
      例外:
      DateTimeException - フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合
      UnsupportedTemporalTypeException - フィールドがサポートされていない場合、または値の範囲がintを超えている場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • getLong

      public long getLong(TemporalField field)
      指定されたフィールドの値をこの時間からlongとして取得します。

      これは、指定されたフィールドの値についてこの時間に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。

      フィールドがChronoFieldの場合、ここに問合せを実装します。 サポートされているフィールドは、この時間に基づいて有効な値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

      フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。

      定義:
      インタフェースTemporalAccessorgetLong
      パラメータ:
      field - 取得するフィールド、null以外
      戻り値:
      フィールドの値
      例外:
      DateTimeException - フィールドの値を取得できない場合
      UnsupportedTemporalTypeException - フィールドがサポートされていない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • getHour

      public int getHour()
      時フィールドを取得します。
      戻り値:
      時(0-23)
    • getMinute

      public int getMinute()
      分フィールドを取得します。
      戻り値:
      分(0-59)
    • getSecond

      public int getSecond()
      秒フィールドを取得します。
      戻り値:
      秒(0-59)
    • getNano

      public int getNano()
      ナノ秒フィールドを取得します。
      戻り値:
      ナノ秒(0-999,999,999)
    • with

      public LocalTime with(TemporalAdjuster adjuster)
      この時間の調整済のコピーを返します。

      これは、時間を調整して、この時間に基づくLocalTimeを返します。 調整は、指定されたアジャスタ戦略オブジェクトを使用して行われます。 どのような調整が行われるかを理解するには、アジャスタのドキュメントを参照してください。

      単純なアジャスタは、時フィールドなど、いずれか1つのフィールドを設定できるだけです。 より複雑なアジャスタは、時間をその日の最後の時に設定できます。

      このメソッドの結果は、指定されたアジャスタでthisを引数として渡してTemporalAdjuster.adjustInto(Temporal)メソッドを呼び出すことによって取得されます。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporalwith
      パラメータ:
      adjuster - 使用するアジャスタ、null以外
      戻り値:
      調整が行われた、これに基づくLocalTime。null以外
      例外:
      DateTimeException - 調整ができない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • with

      public LocalTime with(TemporalField field, long newValue)
      指定されたフィールドを新しい値に設定して、この時間のコピーを返します。

      これは、指定されたフィールドの値を変更して、この時間に基づくLocalTimeを返します。 これを使用すると、時、分、秒などのサポートされているフィールドを変更できます。 値を設定できない場合は、フィールドがサポートされていないか他の理由のために、例外がスローされます。

      フィールドがChronoFieldの場合は、調整はここで実装されます。 サポートされるフィールドは次のように動作します。

      • NANO_OF_SECOND - 指定された「1秒のうちのナノ秒」を使ってLocalTimeを返します。 時、分、および秒は変更されません。
      • NANO_OF_DAY - 指定された「1日のうちのナノ秒」を使ってLocalTimeを返します。 これは、時間を完全に置き換えるもので、ofNanoOfDay(long)と同等です。
      • MICRO_OF_SECOND - 「1秒のうちのナノ秒」を、指定された「1秒のうちのマイクロ秒」に1,000を掛けた値に置き換えてLocalTimeを返します。 時、分、および秒は変更されません。
      • MICRO_OF_DAY - 指定された「1日のうちのマイクロ秒」を使ってLocalTimeを返します。 これは、時間を完全に置き換えるもので、「1日のうちのマイクロ秒」に1,000を掛けた値でofNanoOfDay(long)を使用することと同等です。
      • MILLI_OF_SECOND - 「1秒のうちのナノ秒」を、指定された「1秒のうちのミリ秒」に1,000,000を掛けた値に置き換えてLocalTimeを返します。 時、分、および秒は変更されません。
      • MILLI_OF_DAY - 指定された「1日のうちのミリ秒」を使ってLocalTimeを返します。 これは、時間を完全に置き換えるもので、「1日のうちのミリ秒」に1,000,000を掛けた値でofNanoOfDay(long)を使用することと同等です。
      • SECOND_OF_MINUTE - 指定された「1分のうちの秒」を使ってLocalTimeを返します。 時、分、および「1秒のうちのナノ秒」は変更されません。
      • SECOND_OF_DAY - 指定された「1日のうちの秒」を使ってLocalTimeを返します。 「1秒のうちのナノ秒」は変更されません。
      • MINUTE_OF_HOUR - 指定された「1時間のうちの分」を使ってLocalTimeを返します。 時、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
      • MINUTE_OF_DAY - 指定された「1日のうちの分」を使ってLocalTimeを返します。 「1分のうちの秒」および「1秒のうちのナノ秒」は変更されません。
      • HOUR_OF_AMPM - 指定された「午前または午後の時」を使ってLocalTimeを返します。 午前/午後、「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
      • CLOCK_HOUR_OF_AMPM - 指定された「午前または午後のクロック時間」を使ってLocalTimeを返します。 午前/午後、「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
      • HOUR_OF_DAY - 指定された「1日のうちの時」を使ってLocalTimeを返します。 「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
      • CLOCK_HOUR_OF_DAY - 指定された「1日のうちのクロック時間」を使ってLocalTimeを返します。 「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
      • AMPM_OF_DAY - 指定された午前/午後を使ってLocalTimeを返します。 「午前または午後の時」、「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。

      いずれの場合も、新しい値がフィールドの値の有効範囲外にあるとDateTimeExceptionがスローされます。

      他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

      フィールドがChronoFieldではない場合、このメソッドの結果は、thisを引数として渡してTemporalField.adjustInto(Temporal, long)を呼び出すことによって取得されます。 この場合、インスタントを調整するかどうかおよびどのように調整するかはフィールドによって決まります。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporalwith
      パラメータ:
      field - 結果に設定するフィールド、null以外
      newValue - 結果のフィールドの新しい値
      戻り値:
      指定されたフィールドが設定された、これに基づくLocalTime。null以外
      例外:
      DateTimeException - フィールドを設定できない場合
      UnsupportedTemporalTypeException - フィールドがサポートされていない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • withHour

      public LocalTime withHour(int hour)
      時の値を変更して、このLocalTimeのコピーを返します。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      hour - 結果に設定される時(0-23)
      戻り値:
      リクエストされた時を含む、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 時の値が無効である場合
    • withMinute

      public LocalTime withMinute(int minute)
      分の値を変更して、このLocalTimeのコピーを返します。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      minute - 結果に設定される分(0-59)
      戻り値:
      リクエストされた分を含む、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 分の値が無効である場合
    • withSecond

      public LocalTime withSecond(int second)
      秒の値を変更して、このLocalTimeのコピーを返します。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      second - 結果に設定される秒(0-59)
      戻り値:
      リクエストされた秒を含む、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 秒の値が無効である場合
    • withNano

      public LocalTime withNano(int nanoOfSecond)
      ナノ秒の値を変更して、このLocalTimeのコピーを返します。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      nanoOfSecond - 結果に設定されるナノ秒(0-999,999,999)
      戻り値:
      リクエストされたナノ秒を含む、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - ナノ秒の値が無効である場合
    • truncatedTo

      public LocalTime truncatedTo(TemporalUnit unit)
      時間が切り捨てられた、このLocalTimeのコピーを返します。

      切り詰めでは、指定された単位よりも小さいフィールドをゼロに設定して、元の時間のコピーを返します。 たとえば、単位で切り詰めると、秒およびナノ秒フィールドはゼロに設定されます。

      単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。 これには、ChronoUnitDAYSで提供されるすべての時間単位が含まれます。 他の単位は例外をスローします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      unit - 切り捨てを行う単位、nullでない
      戻り値:
      時間が切り捨てられた、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 切り捨てられない場合
      UnsupportedTemporalTypeException - 単位がサポートされていない場合
    • plus

      public LocalTime plus(TemporalAmount amountToAdd)
      この時刻のコピーに指定された時間を追加したものを返します。

      これは、指定された量を加算して、この時間に基づくLocalTimeを返します。 この量は通常Durationですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。

      計算は、TemporalAmount.addTo(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は加算を任意の方法で自由に実装できますが、通常はplus(long, TemporalUnit)にコールバックします。 正常に加算できるかどうかを判断するには、量実装のドキュメントを参照してください。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporalplus
      パラメータ:
      amountToAdd - 加算する量、nullでない
      戻り値:
      加算が行われた、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 加算できない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • plus

      public LocalTime plus(long amountToAdd, TemporalUnit unit)
      この時刻のコピーに指定された時間を追加したものを返します。

      これは、その単位での量を加算して、この時間に基づくLocalTimeを返します。 量を加算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。

      フィールドがChronoUnitの場合は、加算はここで実装されます。 サポートされるフィールドは次のように動作します。

      • NANOS- 指定されたナノ秒数を加算してLocalTimeを返します。 これはplusNanos(long)と同等です。
      • MICROS- 指定されたマイクロ秒数を加算してLocalTimeを返します。 これは、量が1,000倍されたplusNanos(long)と同等です。
      • MILLIS- 指定されたミリ秒数を加算してLocalTimeを返します。 これは、量が1,000,000倍されたplusNanos(long)と同等です。
      • SECONDS- 指定された秒数を加算してLocalTimeを返します。 これはplusSeconds(long)と同等です。
      • MINUTES- 指定された分数を加算してLocalTimeを返します。 これはplusMinutes(long)と同等です。
      • HOURS- 指定された時間数を加算してLocalTimeを返します。 これはplusHours(long)と同等です。
      • HALF_DAYS- 指定された半日数を加算してLocalTimeを返します。 これは、量を12倍にした値によるplusHours(long)と同等です。

      他のすべてのChronoUnitインスタンスはUnsupportedTemporalTypeExceptionをスローします。

      フィールドがChronoUnitでない場合、このメソッドの結果は、thisを引数として渡してTemporalUnit.addTo(Temporal, long)を呼び出すことによって取得されます。 この場合、加算を実行するかどうかおよびどのように実行するかは単位によって決まります。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporalplus
      パラメータ:
      amountToAdd - 結果に加算する単位の量、負も可
      unit - 加算する量の単位、nullでない
      戻り値:
      指定された量が加算された、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 加算できない場合
      UnsupportedTemporalTypeException - 単位がサポートされていない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • plusHours

      public LocalTime plusHours(long hoursToAdd)
      指定された時間数を加算して、このLocalTimeのコピーを返します。

      これは、指定された時間数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      hoursToAdd - 加算する時間数。負の値の場合もある
      戻り値:
      その時間数が加算された、この時間に基づくLocalTime。null以外
    • plusMinutes

      public LocalTime plusMinutes(long minutesToAdd)
      指定された分数を加算して、このLocalTimeのコピーを返します。

      これは、指定された分数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      minutesToAdd - 加算する分数。負の値の場合もある
      戻り値:
      その分数が加算された、この時間に基づくLocalTime。null以外
    • plusSeconds

      public LocalTime plusSeconds(long secondstoAdd)
      指定された秒数を加算して、このLocalTimeのコピーを返します。

      これは、指定された秒数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      secondstoAdd - 加算する秒数。負の値の場合もある
      戻り値:
      その秒数が加算された、この時間に基づくLocalTime。null以外
    • plusNanos

      public LocalTime plusNanos(long nanosToAdd)
      指定されたナノ秒数を加算して、このLocalTimeのコピーを返します。

      これは、指定されたナノ秒数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      nanosToAdd - 加算するナノ秒数。負の値の場合もある
      戻り値:
      そのナノ秒数が加算された、この時間に基づくLocalTime。null以外
    • minus

      public LocalTime minus(TemporalAmount amountToSubtract)
      指定された量を減算して、この時間のコピーを返します。

      これは、指定された量を減算して、この時間に基づくLocalTimeを返します。 この量は通常Durationですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。

      計算は、TemporalAmount.subtractFrom(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は減算を任意の方法で自由に実装できますが、通常はminus(long, TemporalUnit)にコールバックします。 正常に減算できるかどうかを判断するには、量実装のドキュメントを参照してください。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporalminus
      パラメータ:
      amountToSubtract - 減算する量、nullでない
      戻り値:
      減算が行われた、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 減算ができない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • minus

      public LocalTime minus(long amountToSubtract, TemporalUnit unit)
      指定された量を減算して、この時間のコピーを返します。

      これは、その単位での量を減算して、この時間に基づくLocalTimeを返します。 量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。

      このメソッドは、量を符号反転したplus(long, TemporalUnit)と同等です。 加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporalminus
      パラメータ:
      amountToSubtract - 結果から減算する単位の量、負も可
      unit - 減算する量の単位、nullでない
      戻り値:
      指定された量が減算された、この時間に基づくLocalTime。null以外
      例外:
      DateTimeException - 減算ができない場合
      UnsupportedTemporalTypeException - 単位がサポートされていない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • minusHours

      public LocalTime minusHours(long hoursToSubtract)
      指定された時間数を減算して、このLocalTimeのコピーを返します。

      これは、指定された時間数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      hoursToSubtract - 減算する時間数。負の値の場合もある
      戻り値:
      その時間数が減算された、この時間に基づくLocalTime。null以外
    • minusMinutes

      public LocalTime minusMinutes(long minutesToSubtract)
      指定された分数を減算して、このLocalTimeのコピーを返します。

      これは、指定された分数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      minutesToSubtract - 減算する分数。負の値の場合もある
      戻り値:
      その分数が減算された、この時間に基づくLocalTime。null以外
    • minusSeconds

      public LocalTime minusSeconds(long secondsToSubtract)
      指定された秒数を減算して、このLocalTimeのコピーを返します。

      これは、指定された秒数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      secondsToSubtract - 減算する秒数。負の値の場合もある
      戻り値:
      その秒数が減算された、この時間に基づくLocalTime。null以外
    • minusNanos

      public LocalTime minusNanos(long nanosToSubtract)
      指定されたナノ秒数を減算して、このLocalTimeのコピーを返します。

      これは、指定されたナノ秒数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      パラメータ:
      nanosToSubtract - 減算するナノ秒数。負の値の場合もある
      戻り値:
      そのナノ秒数が減算された、この時間に基づくLocalTime。null以外
    • query

      public <R> R query(TemporalQuery<R> query)
      指定された問合せを使用してこの時間を問い合せます。

      これは、指定された問合せ方針オブジェクトを使用してこの時間を問い合せます。 TemporalQueryオブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。

      このメソッドの結果は、thisを引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)メソッドを呼び出すことによって取得します。

      定義:
      インタフェースTemporalAccessorquery
      型パラメータ:
      R - 結果の型
      パラメータ:
      query - 呼び出す問合せ、null以外
      戻り値:
      問合せ結果、nullが返されることがある(問合せによって定義される)
      例外:
      DateTimeException - 問い合わせできない場合(問合せによって定義される)
      ArithmeticException - 数値のオーバーフローが発生した場合(問合せによって定義される)
    • adjustInto

      public Temporal adjustInto(Temporal temporal)
      指定された時間的オブジェクトを、このオブジェクトと同じ時間を持つように調整します。

      これは、時間をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。

      この調整は、ChronoField.NANO_OF_DAYをフィールドとして渡してTemporal.with(TemporalField, long)を使用することと同等です。

      ほとんどのケースで、Temporal.with(TemporalAdjuster)を使用して、呼び出しパターンを逆にすると明確になります。

         // these two lines are equivalent, but the second approach is recommended
         temporal = thisLocalTime.adjustInto(temporal);
         temporal = temporal.with(thisLocalTime);
       

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporalAdjusteradjustInto
      パラメータ:
      temporal - 調整するターゲット・オブジェクト、null以外
      戻り値:
      調整されるオブジェクト、null以外
      例外:
      DateTimeException - 調整を実行できない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • until

      public long until(Temporal endExclusive, TemporalUnit unit)
      もう一方の時間までの時間量を指定された単位で計算します。

      これは、1つのTemporalUnitを単位として、2つのLocalTimeオブジェクト間の時間量を計算します。 始点と終点は、これと指定された時間です。 終了が開始より前である場合、結果は負になります。 このメソッドに渡されたTemporalは、from(TemporalAccessor)を使用してLocalTimeに変換されます。 たとえば、2つの時間の間の時間数は、startTime.until(endTime, HOURS)を使用して計算できます。

      この計算では、2つの時間の間の完全な単位の数を表す整数を返します。 たとえば、11:30と13:29の間の時間単位の量は、2時間には1分足りないため、1時間のみとなります。

      このメソッドを使用する等価な方法が2つあります。 1つ目はこのメソッドを呼び出すことです。 2つ目はTemporalUnit.between(Temporal, Temporal)を使用することです。

         // these two lines are equivalent
         amount = start.until(end, MINUTES);
         amount = MINUTES.between(start, end);
       
      この選択は、コードが読みやすくなるのはどちらかに基づいて行ってください。

      計算はChronoUnitのこのメソッドに実装します。 サポートされている単位は、NANOSMICROSMILLISSECONDSMINUTESHOURS、およびHALF_DAYSです。 その他のChronoUnit値は例外をスローします。

      単位がChronoUnitでない場合、このメソッドの結果は、thisを1つ目の引数として、変換される入力temporal (一時)を2つ目の引数として渡してTemporalUnit.between(Temporal, Temporal)を呼び出すことによって取得します。

      このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。

      定義:
      インタフェースTemporaluntil
      パラメータ:
      endExclusive - LocalTimeに変換される終了時間(これを含まない)。null以外
      unit - 量を測定する単位、null以外
      戻り値:
      この時間から終了時間までの時間量
      例外:
      DateTimeException - その量を計算できないか、終了時間をLocalTimeに変換できない場合
      UnsupportedTemporalTypeException - 単位がサポートされていない場合
      ArithmeticException - 数値のオーバーフローが発生した場合
    • format

      public String format(DateTimeFormatter formatter)
      指定されたフォーマッタを使用してこの時間を書式設定します。

      この時間がフォーマッタに渡されて、文字列が生成されます。

      パラメータ:
      formatter - 使用するフォーマッタ、null以外
      戻り値:
      書式設定された時間文字列。null以外
      例外:
      DateTimeException - 出力時にエラーが発生した場合
    • atDate

      public LocalDateTime atDate(LocalDate date)
      この時間を日付と組み合せてLocalDateTimeを作成します。

      これは、指定された日付でこの時間から形成されたLocalDateTimeを返します。 日付と時間のすべての可能性のある組合わせが有効です。

      パラメータ:
      date - 組み合せる日付。null以外
      戻り値:
      この時間と指定された日付から形成されたローカル日付/時間。null以外
    • atOffset

      public OffsetTime atOffset(ZoneOffset offset)
      この時間をオフセットと組み合せてOffsetTimeを作成します。

      これは、指定されたオフセットでこの時間から形成されたOffsetTimeを返します。 時間とオフセットの考えられるすべての組み合せが有効です。

      パラメータ:
      offset - 組み合わせるオフセット、nullでない
      戻り値:
      この時間と指定されたオフセットから形成されたオフセット時間。null以外
    • toSecondOfDay

      public int toSecondOfDay()
      時間を1日のうちの秒数(0から24 * 60 * 60 - 1)として抽出します。
      戻り値:
      この時間と同等の「1日のうちの秒」
    • toNanoOfDay

      public long toNanoOfDay()
      時間を1日のナノ秒(0から24 * 60 * 60 * 1,000,000,000 - 1)として抽出します。
      戻り値:
      この時間と同等の「1日のうちのナノ秒」
    • toEpochSecond

      public long toEpochSecond(LocalDate date, ZoneOffset offset)
      このLocalTimeを1970-01-01T00:00:00Zの時代からの秒数に変換します。

      これは、このローカル時間と指定された日付およびオフセットを組み合わせて、1970-01-01T00:00:00Zからの経過秒数である第2の値を計算します。 エポックより後の時系列上のインスタントは正で、それより前は負になります。

      パラメータ:
      date - ローカル日付。null以外
      offset - ゾーンオフセット。null以外
      戻り値:
      1970-01-01T00:00:00Zの時代からの秒数。
      導入されたバージョン:
      9
    • compareTo

      public int compareTo(LocalTime other)
      この時間を別の時間と比較します。

      この比較は、1日のうちのそれらのローカル時間の時系列上の位置に基づいています。 Comparableに定義されているとおりに、「equalsと一致」しています。

      定義:
      compareTo、インタフェースComparable<LocalTime>
      パラメータ:
      other - 比較対象のもう一方の時間。null以外
      戻り値:
      コンパレータ値、小さい場合は負、大きい場合は正
    • isAfter

      public boolean isAfter(LocalTime other)
      この時間が、指定された時間より後にあるかどうかをチェックします。

      この比較は、1日のうちのその時間の時系列上の位置に基づいています。

      パラメータ:
      other - 比較対象のもう一方の時間。null以外
      戻り値:
      これが指定された時間より後にある場合はtrue
    • isBefore

      public boolean isBefore(LocalTime other)
      この時間が、指定された時間より前にあるかどうかをチェックします。

      この比較は、1日のうちのその時間の時系列上の位置に基づいています。

      パラメータ:
      other - 比較対象のもう一方の時間。null以外
      戻り値:
      この時点が指定された時間より前にある場合はtrue
    • equals

      public boolean equals(Object obj)
      この時間がもう一方の時間と等しいかどうかを確認します。

      この比較は、1日のうちのその時間の時系列上の位置に基づいています。

      LocalTime型のオブジェクトのみが比較され、それ以外の型はfalseを返します。 2つのTemporalAccessorインスタンスの日付を比較するには、ChronoField.NANO_OF_DAYをコンパレータとして使用します。

      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj - チェックするオブジェクト、nullはfalseを返す
      戻り値:
      これがもう一方の時間と等しい場合はtrue
      関連項目:
    • hashCode

      public int hashCode()
      この時間のハッシュ・コード。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      適切なハッシュ・コード
      関連項目:
    • toString

      public String toString()
      この時間をStringとして出力します(10:15など)。

      この出力は、次のISO-8601形式のいずれかになります。

      • HH:mm
      • HH:mm:ss
      • HH:mm:ss.SSS
      • HH:mm:ss.SSSSSS
      • HH:mm:ss.SSSSSSSSS
      使用される形式は、完全な時間値を出力するもっとも短いものになり、省略部分はゼロであると暗に示されます。

      オーバーライド:
      toString、クラスObject
      戻り値:
      この時間の文字列表現。null以外