モジュール java.base
パッケージ 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は、時刻に対して、すべての暦体系が同じ表現(このクラス)を使用することを想定しています。

    これは値ベースのクラスです。LocalTimeのインスタンスに対して、アイデンティティの影響を受けやすい操作(参照型等価演算子(==)、アイデンティティ・ハッシュ・コード、同期化など)を使用すると、予測できない結果が生じることがあるため、使わないようにしてください。 比較する場合は、equalsメソッドを使用することをお薦めします。

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

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

      すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      Temporal adjustInto​(Temporal temporal)
      指定された時間的オブジェクトを、このオブジェクトと同じ時間を持つように調整します。
      LocalDateTime atDate​(LocalDate date)
      この時間を日付と組み合せてLocalDateTimeを作成します。
      OffsetTime atOffset​(ZoneOffset offset)
      この時間をオフセットと組み合せてOffsetTimeを作成します。
      int compareTo​(LocalTime other)
      この時間を別の時間と比較します。
      boolean equals​(Object obj)
      この時間がもう一方の時間と等しいかどうかを確認します。
      String format​(DateTimeFormatter formatter)
      指定されたフォーマッタを使用してこの時間を書式設定します。
      static LocalTime from​(TemporalAccessor temporal)
      時間的オブジェクトからLocalTimeのインスタンスを取得します。
      int get​(TemporalField field)
      指定されたフィールドの値をこの時間からintとして取得します。
      int getHour​()
      時フィールドを取得します。
      long getLong​(TemporalField field)
      指定されたフィールドの値をこの時間からlongとして取得します。
      int getMinute​()
      分フィールドを取得します。
      int getNano​()
      ナノ秒フィールドを取得します。
      int getSecond​()
      秒フィールドを取得します。
      int hashCode​()
      この時間のハッシュ・コード。
      boolean isAfter​(LocalTime other)
      この時間が、指定された時間より後にあるかどうかをチェックします。
      boolean isBefore​(LocalTime other)
      この時間が、指定された時間より前にあるかどうかをチェックします。
      boolean isSupported​(TemporalField field)
      指定されたフィールドがサポートされているかどうかをチェックします。
      boolean isSupported​(TemporalUnit unit)
      指定された単位がサポートされているかどうかをチェックします。
      LocalTime minus​(long amountToSubtract, TemporalUnit unit)
      指定された量を減算して、この時間のコピーを返します。
      LocalTime minus​(TemporalAmount amountToSubtract)
      指定された量を減算して、この時間のコピーを返します。
      LocalTime minusHours​(long hoursToSubtract)
      指定された時間数を減算して、このLocalTimeのコピーを返します。
      LocalTime minusMinutes​(long minutesToSubtract)
      指定された分数を減算して、このLocalTimeのコピーを返します。
      LocalTime minusNanos​(long nanosToSubtract)
      指定されたナノ秒数を減算して、このLocalTimeのコピーを返します。
      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 parse​(CharSequence text)
      10:15などのテキスト文字列からLocalTimeのインスタンスを取得します。
      static LocalTime parse​(CharSequence text, DateTimeFormatter formatter)
      特定のフォーマッタを使用して、テキスト文字列からLocalTimeのインスタンスを取得します。
      LocalTime plus​(long amountToAdd, TemporalUnit unit)
      この時刻のコピーに指定された時間を追加したものを返します。
      LocalTime plus​(TemporalAmount amountToAdd)
      この時刻のコピーに指定された時間を追加したものを返します。
      LocalTime plusHours​(long hoursToAdd)
      指定された時間数を加算して、このLocalTimeのコピーを返します。
      LocalTime plusMinutes​(long minutesToAdd)
      指定された分数を加算して、このLocalTimeのコピーを返します。
      LocalTime plusNanos​(long nanosToAdd)
      指定されたナノ秒数を加算して、このLocalTimeのコピーを返します。
      LocalTime plusSeconds​(long secondstoAdd)
      指定された秒数を加算して、このLocalTimeのコピーを返します。
      <R> R query​(TemporalQuery<R> query)
      指定された問合せを使用してこの時間を問い合せます。
      ValueRange range​(TemporalField field)
      指定されたフィールドの有効な値の範囲を取得します。
      long toEpochSecond​(LocalDate date, ZoneOffset offset)
      このLocalTimeを1970-01-01T00:00:00Zの時代からの秒数に変換します。
      long toNanoOfDay​()
      時間を1日のナノ秒(0から24 * 60 * 60 * 1,000,000,000 - 1)として抽出します。
      int toSecondOfDay​()
      時間を1日のうちの秒数(0から24 * 60 * 60 - 1)として抽出します。
      String toString​()
      この時間をStringとして出力します(10:15など)。
      LocalTime truncatedTo​(TemporalUnit unit)
      時間が切り捨てられた、このLocalTimeのコピーを返します。
      long until​(Temporal endExclusive, TemporalUnit unit)
      もう一方の時間までの時間量を指定された単位で計算します。
      LocalTime with​(TemporalAdjuster adjuster)
      この時間の調整済のコピーを返します。
      LocalTime with​(TemporalField field, long newValue)
      指定されたフィールドを新しい値に設定して、この時間のコピーを返します。
      LocalTime withHour​(int hour)
      時の値を変更して、このLocalTimeのコピーを返します。
      LocalTime withMinute​(int minute)
      分の値を変更して、このLocalTimeのコピーを返します。
      LocalTime withNano​(int nanoOfSecond)
      ナノ秒の値を変更して、このLocalTimeのコピーを返します。
      LocalTime withSecond​(int second)
      秒の値を変更して、このLocalTimeのコピーを返します。
    • フィールドの詳細

      • 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
        関連項目:
        Object.hashCode()HashMap
      • 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以外