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

クラスLocalDateTime

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

public final class LocalDateTime
extends Object
implements Temporal, TemporalAdjuster, ChronoLocalDateTime<LocalDate>, Serializable
ISO-8601暦体系のタイムゾーンのない日付/時間、2007-12-03T10:15:30など。

LocalDateTimeは、日付/時間(年-月-日-時-分-秒として表示されることが多い)を表す不変の日付/時間オブジェクトです。 他の日付と時間フィールド(「年の日」、曜日、「年の週番号」など)にもアクセスできます。 時間は、ナノ秒の精度まで表されます。 たとえば、「2007年10月2日の13:45.30.123456789」という値をLocalDateTimeに格納できます。

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

ISO-8601暦体系は、世界中の大部分で現在使われている近代の常用暦体系です。 これは、現在のうるう年のルールがすべての時間に適用される、先発グレゴリオ暦体系と同等です。 今日作成されているほとんどのアプリケーションには、ISO-8601のルールが完全に適しています。 ただし、歴史的な日付を使用し、それらが正確であることを必要とするアプリケーションには、ISO-8601の方法が適さないことがわかります。

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

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

    フィールド 
    修飾子と型 フィールド 説明
    static LocalDateTime MAX
    サポートされている最大のLocalDateTimeである「+999999999-12-31T23:59:59.999999999」。
    static LocalDateTime MIN
    サポートされている最小のLocalDateTimeである「-999999999-01-01T00:00:00」。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Temporal adjustInto​(Temporal temporal)
    指定された時間的オブジェクトをこのオブジェクトと同じ日付と時間になるように調整します。
    OffsetDateTime atOffset​(ZoneOffset offset)
    この日付/時間をオフセットと組み合せてOffsetDateTimeを作成します。
    ZonedDateTime atZone​(ZoneId zone)
    この日付/時間をタイムゾーンと組み合せてZonedDateTimeを作成します。
    int compareTo​(ChronoLocalDateTime<?> other)
    この日付/時間を別の日付/時間と比較します。
    boolean equals​(Object obj)
    この日付/時間が別の日付/時間と等しいかどうかをチェックします。
    String format​(DateTimeFormatter formatter)
    指定されたフォーマッタを使用してこの日付/時間を書式設定します。
    static LocalDateTime from​(TemporalAccessor temporal)
    時間的オブジェクトからLocalDateTimeのインスタンスを取得します。
    int get​(TemporalField field)
    指定されたフィールドの値をこの日付/時間からintとして取得します。
    int getDayOfMonth()
    「月の日」フィールドを取得します。
    DayOfWeek getDayOfWeek()
    列挙型DayOfWeekである曜日フィールドを取得します。
    int getDayOfYear()
    「年の日」フィールドを取得します。
    int getHour()
    時フィールドを取得します。
    long getLong​(TemporalField field)
    指定されたフィールドの値をこの日付/時間からlongとして取得します。
    int getMinute()
    分フィールドを取得します。
    Month getMonth()
    列挙型Monthを使用して、月フィールドを取得します。
    int getMonthValue()
    月フィールドを取得します(1-12)。
    int getNano()
    ナノ秒フィールドを取得します。
    int getSecond()
    秒フィールドを取得します。
    int getYear()
    年フィールドを取得します。
    int hashCode()
    この日付/時間のハッシュ・コード。
    boolean isAfter​(ChronoLocalDateTime<?> other)
    この日付/時間が、指定された日付/時間より後にあるかどうかをチェックします。
    boolean isBefore​(ChronoLocalDateTime<?> other)
    この日付/時間が、指定された日付/時間より前にあるかどうかをチェックします。
    boolean isEqual​(ChronoLocalDateTime<?> other)
    この日付/時間が、指定された日付/時間と等しいかどうかをチェックします。
    boolean isSupported​(TemporalField field)
    指定されたフィールドがサポートされているかどうかをチェックします。
    boolean isSupported​(TemporalUnit unit)
    指定された単位がサポートされているかどうかをチェックします。
    LocalDateTime minus​(long amountToSubtract, TemporalUnit unit)
    指定された量を減算した、この日付/時間のコピーを返します。
    LocalDateTime minus​(TemporalAmount amountToSubtract)
    指定された量を減算した、この日付/時間のコピーを返します。
    LocalDateTime minusDays​(long days)
    指定された日数を減算して、このLocalDateTimeのコピーを返します。
    LocalDateTime minusHours​(long hours)
    指定された時間数を減算して、このLocalDateTimeのコピーを返します。
    LocalDateTime minusMinutes​(long minutes)
    指定された分数を減算して、このLocalDateTimeのコピーを返します。
    LocalDateTime minusMonths​(long months)
    指定された月数を減算して、このLocalDateTimeのコピーを返します。
    LocalDateTime minusNanos​(long nanos)
    指定されたナノ秒数を減算して、このLocalDateTimeのコピーを返します。
    LocalDateTime minusSeconds​(long seconds)
    指定された秒数を減算して、このLocalDateTimeのコピーを返します。
    LocalDateTime minusWeeks​(long weeks)
    指定された週数を減算して、このLocalDateTimeのコピーを返します。
    LocalDateTime minusYears​(long years)
    指定された年数を減算して、このLocalDateTimeのコピーを返します。
    static LocalDateTime now()
    デフォルトのタイムゾーンのシステム・クロックから現在の日付/時間を取得します。
    static LocalDateTime now​(Clock clock)
    指定されたクロックから現在の日付/時間を取得します。
    static LocalDateTime now​(ZoneId zone)
    指定されたタイムゾーンのシステム・クロックから現在の日付/時間を取得します。
    static LocalDateTime of​(int year, int month, int dayOfMonth, int hour, int minute)
    秒およびナノ秒をゼロに設定して、年、月、日、時、および分からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime of​(int year, int month, int dayOfMonth, int hour, int minute, int second)
    ナノ秒をゼロに設定して、年、月、日、時、分、および秒からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime of​(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
    年、月、日、時、分、秒、およびナノ秒からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime of​(int year, Month month, int dayOfMonth, int hour, int minute)
    秒およびナノ秒をゼロに設定して、年、月、日、時、および分からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime of​(int year, Month month, int dayOfMonth, int hour, int minute, int second)
    ナノ秒をゼロに設定して、年、月、日、時、分、および秒からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime of​(int year, Month month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
    年、月、日、時、分、秒、およびナノ秒からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime of​(LocalDate date, LocalTime time)
    日付と時間からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime ofEpochSecond​(long epochSecond, int nanoOfSecond, ZoneOffset offset)
    エポック(1970-01-01T00:00:00Z)からの秒数を使用して、LocalDateTimeのインスタンスを取得します。
    static LocalDateTime ofInstant​(Instant instant, ZoneId zone)
    InstantおよびゾーンIDからLocalDateTimeのインスタンスを取得します。
    static LocalDateTime parse​(CharSequence text)
    2007-12-03T10:15:30などのテキスト文字列からLocalDateTimeのインスタンスを取得します。
    static LocalDateTime parse​(CharSequence text, DateTimeFormatter formatter)
    特定のフォーマッタを使用して、テキスト文字列からLocalDateTimeのインスタンスを取得します。
    LocalDateTime plus​(long amountToAdd, TemporalUnit unit)
    指定された量を加算した、この日付/時間のコピーを返します。
    LocalDateTime plus​(TemporalAmount amountToAdd)
    指定された量を加算した、この日付/時間のコピーを返します。
    LocalDateTime plusDays​(long days)
    指定された日数を加算して、このLocalDateTimeのコピーを返します。
    LocalDateTime plusHours​(long hours)
    指定された時間数を加算して、このLocalDateTimeのコピーを返します。
    LocalDateTime plusMinutes​(long minutes)
    指定された分数を加算して、このLocalDateTimeのコピーを返します。
    LocalDateTime plusMonths​(long months)
    指定された月数を加算して、このLocalDateTimeのコピーを返します。
    LocalDateTime plusNanos​(long nanos)
    指定されたナノ秒数を加算して、このLocalDateTimeのコピーを返します。
    LocalDateTime plusSeconds​(long seconds)
    指定された秒数を加算して、このLocalDateTimeのコピーを返します。
    LocalDateTime plusWeeks​(long weeks)
    指定された週数を加算して、このLocalDateTimeのコピーを返します。
    LocalDateTime plusYears​(long years)
    指定された年数を加算して、このLocalDateTimeのコピーを返します。
    <R> R query​(TemporalQuery<R> query)
    指定された問合せを使用してこの日付/時間を問い合わせます。
    ValueRange range​(TemporalField field)
    指定されたフィールドの有効な値の範囲を取得します。
    LocalDate toLocalDate()
    この日付/時間のLocalDate部分を取得します。
    LocalTime toLocalTime()
    この日付/時間のLocalTime部分を取得します。
    String toString()
    この日付/時間をStringとして出力します(2007-12-03T10:15:30など)。
    LocalDateTime truncatedTo​(TemporalUnit unit)
    時間が切り捨てられた、このLocalDateTimeのコピーを返します。
    long until​(Temporal endExclusive, TemporalUnit unit)
    もう一方の日付/時間までの時間量を指定された単位で計算します。
    LocalDateTime with​(TemporalAdjuster adjuster)
    この日付/時間の調整済のコピーを返します。
    LocalDateTime with​(TemporalField field, long newValue)
    指定されたフィールドを新しい値に設定して、この日付/時間のコピーを返します。
    LocalDateTime withDayOfMonth​(int dayOfMonth)
    「月の日」を変更して、このLocalDateTimeのコピーを返します。
    LocalDateTime withDayOfYear​(int dayOfYear)
    「年の日」を変更して、このLocalDateTimeのコピーを返します。
    LocalDateTime withHour​(int hour)
    時の値を変更して、このLocalDateTimeのコピーを返します。
    LocalDateTime withMinute​(int minute)
    分の値を変更して、このLocalDateTimeのコピーを返します。
    LocalDateTime withMonth​(int month)
    月を変更して、このLocalDateTimeのコピーを返します。
    LocalDateTime withNano​(int nanoOfSecond)
    ナノ秒の値を変更して、このLocalDateTimeのコピーを返します。
    LocalDateTime withSecond​(int second)
    秒の値を変更して、このLocalDateTimeのコピーを返します。
    LocalDateTime withYear​(int year)
    年を変更して、このLocalDateTimeのコピーを返します。

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

    clonefinalizegetClassnotifynotifyAllwaitwaitwait

    インタフェース java.time.chrono.ChronoLocalDateTimeで宣言されたメソッド

    getChronology, toEpochSecond, toInstant
  • フィールド詳細

    • MIN

      public static final LocalDateTime MIN
      サポートされている最小のLocalDateTimeである「-999999999-01-01T00:00:00」。 これは、最小日付の開始時の深夜零時のローカル日付/時間です。 これはLocalDate.MINLocalTime.MINを組み合せたものです。 これは、アプリケーションによって「遠い過去」の日付/時間として使用されることがあります。
    • MAX

      public static final LocalDateTime MAX
      サポートされている最大のLocalDateTimeである「+999999999-12-31T23:59:59.999999999」。 これは、最大日付の終わりの深夜零時直前のローカル日付/時間です。 これはLocalDate.MAXLocalTime.MAXを組み合せたものです。 これは、アプリケーションによって「遠い将来」の日付/時間として使用されることがあります。
  • メソッドの詳細

    • now

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

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

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

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

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

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

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

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

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

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

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

      public static LocalDateTime of​(int year, Month month, int dayOfMonth, int hour, int minute)
      秒およびナノ秒をゼロに設定して、年、月、日、時、および分からLocalDateTimeのインスタンスを取得します。

      これは、指定された年、月、「月の日」、時、および分を使ってLocalDateTimeを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。 秒およびナノ秒のフィールドはゼロに設定されます。

      パラメータ:
      year - 表す年(MIN_YEARからMAX_YEARまで)
      month - 表される月。null以外
      dayOfMonth - 表される「月の日」(1-31)
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
    • of

      public static LocalDateTime of​(int year, Month month, int dayOfMonth, int hour, int minute, int second)
      ナノ秒をゼロに設定して、年、月、日、時、分、および秒からLocalDateTimeのインスタンスを取得します。

      これは、指定された年、月、「月の日」、時、分、および秒を使ってLocalDateTimeを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。 ナノ秒フィールドはゼロに設定されます。

      パラメータ:
      year - 表す年(MIN_YEARからMAX_YEARまで)
      month - 表される月。null以外
      dayOfMonth - 表される「月の日」(1-31)
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      second - 表される秒(0-59)
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
    • of

      public static LocalDateTime of​(int year, Month month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
      年、月、日、時、分、秒、およびナノ秒からLocalDateTimeのインスタンスを取得します。

      これは、指定された年、月、「月の日」、時、分、秒、およびナノ秒を使ってLocalDateTimeを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。

      パラメータ:
      year - 表す年(MIN_YEARからMAX_YEARまで)
      month - 表される月。null以外
      dayOfMonth - 表される「月の日」(1-31)
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      second - 表される秒(0-59)
      nanoOfSecond - 表現する「1秒のうちのナノ秒」、0から999,999,999
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
    • of

      public static LocalDateTime of​(int year, int month, int dayOfMonth, int hour, int minute)
      秒およびナノ秒をゼロに設定して、年、月、日、時、および分からLocalDateTimeのインスタンスを取得します。

      これは、指定された年、月、「月の日」、時、および分を使ってLocalDateTimeを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。 秒およびナノ秒のフィールドはゼロに設定されます。

      パラメータ:
      year - 表す年(MIN_YEARからMAX_YEARまで)
      month - 表される月。1(1月)-12(12月)
      dayOfMonth - 表される「月の日」(1-31)
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
    • of

      public static LocalDateTime of​(int year, int month, int dayOfMonth, int hour, int minute, int second)
      ナノ秒をゼロに設定して、年、月、日、時、分、および秒からLocalDateTimeのインスタンスを取得します。

      これは、指定された年、月、「月の日」、時、分、および秒を使ってLocalDateTimeを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。 ナノ秒フィールドはゼロに設定されます。

      パラメータ:
      year - 表す年(MIN_YEARからMAX_YEARまで)
      month - 表される月。1(1月)-12(12月)
      dayOfMonth - 表される「月の日」(1-31)
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      second - 表される秒(0-59)
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
    • of

      public static LocalDateTime of​(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond)
      年、月、日、時、分、秒、およびナノ秒からLocalDateTimeのインスタンスを取得します。

      これは、指定された年、月、「月の日」、時、分、秒、およびナノ秒を使ってLocalDateTimeを返します。 日は年と月に対して有効である必要があり、そうでない場合は、例外がスローされます。

      パラメータ:
      year - 表す年(MIN_YEARからMAX_YEARまで)
      month - 表される月。1(1月)-12(12月)
      dayOfMonth - 表される「月の日」(1-31)
      hour - 表される時(0-23)
      minute - 表される分(0-59)
      second - 表される秒(0-59)
      nanoOfSecond - 表現する「1秒のうちのナノ秒」、0から999,999,999
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
    • of

      public static LocalDateTime of​(LocalDate date, LocalTime time)
      日付と時間からLocalDateTimeのインスタンスを取得します。
      パラメータ:
      date - ローカル日付。null以外
      time - ローカル時間。null以外
      戻り値:
      ローカル日付/時間。null以外
    • ofInstant

      public static LocalDateTime ofInstant​(Instant instant, ZoneId zone)
      InstantおよびゾーンIDからLocalDateTimeのインスタンスを取得します。

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

      パラメータ:
      instant - 日付/時間の作成元のインスタント、null以外
      zone - タイムゾーン。オフセットの場合もある。null以外
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - 結果がサポートされている範囲を超える場合
    • ofEpochSecond

      public static LocalDateTime ofEpochSecond​(long epochSecond, int nanoOfSecond, ZoneOffset offset)
      エポック(1970-01-01T00:00:00Z)からの秒数を使用して、LocalDateTimeのインスタンスを取得します。

      これにより、エポック秒のフィールドをローカル日付/時間に変換できます。 これは一般的なアプリケーションの使用法ではなく、低レベルの変換を主な目的としたものです。

      パラメータ:
      epochSecond - エポック(1970-01-01T00:00:00Z)からの秒数
      nanoOfSecond - 1秒のうちのナノ秒(0-999,999,999)
      offset - ゾーンオフセット。null以外
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - 結果がサポートされている範囲を超えている場合、またはナノ秒が無効な場合
    • from

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

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

      この変換では、時間的オブジェクトからLocalDateおよびLocalTimeを抽出して組み合せます。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。

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

      パラメータ:
      temporal - 変換する一時オブジェクト、null以外
      戻り値:
      ローカル日付/時間。null以外
      例外:
      DateTimeException - LocalDateTimeに変換できない場合
      関連項目:
      Chronology.localDateTime(TemporalAccessor)
    • parse

      public static LocalDateTime parse​(CharSequence text)
      2007-12-03T10:15:30などのテキスト文字列からLocalDateTimeのインスタンスを取得します。

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

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

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

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

      パラメータ:
      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
      • DAY_OF_WEEK
      • ALIGNED_DAY_OF_WEEK_IN_MONTH
      • ALIGNED_DAY_OF_WEEK_IN_YEAR
      • DAY_OF_MONTH
      • DAY_OF_YEAR
      • EPOCH_DAY
      • ALIGNED_WEEK_OF_MONTH
      • ALIGNED_WEEK_OF_YEAR
      • MONTH_OF_YEAR
      • PROLEPTIC_MONTH
      • YEAR_OF_ERA
      • YEAR
      • ERA
      他のすべてのChronoFieldインスタンスはfalseを返します。

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

      定義:
      isSupported、インタフェース: ChronoLocalDateTime<LocalDate>
      定義:
      インタフェース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
      • DAYS
      • WEEKS
      • MONTHS
      • YEARS
      • DECADES
      • CENTURIES
      • MILLENNIA
      • ERAS
      他のすべてのChronoUnitインスタンスはfalseを返します。

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

      定義:
      isSupported、インタフェース: ChronoLocalDateTime<LocalDate>
      定義:
      インタフェース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の場合、ここに問合せを実装します。 NANO_OF_DAYMICRO_OF_DAYEPOCH_DAYPROLEPTIC_MONTHを除いて、intに収まり、UnsupportedTemporalTypeExceptionを投げることを除いて、supported fieldsはこの日時に基づいて有効な値を返します。 他のすべての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 - 数値のオーバーフローが発生した場合
    • toLocalDate

      public LocalDate toLocalDate()
      この日付/時間のLocalDate部分を取得します。

      これは、この日付/時間と同じ年、月、および日を使ってLocalDateを返します。

      定義:
      toLocalDate、インタフェース: ChronoLocalDateTime<LocalDate>
      戻り値:
      日付/時間の日付部分、null以外
    • getYear

      public int getYear()
      年フィールドを取得します。

      このメソッドは、年を表すプリミティブなint値を返します。

      このメソッドで返される年は、get(YEAR)のように予期的なものです。 紀元年を取得するには、get(YEAR_OF_ERA)を使用します。

      戻り値:
      年。MIN_YEARからMAX_YEARまで
    • getMonthValue

      public int getMonthValue()
      月フィールドを取得します(1-12)。

      このメソッドは、月を1-12のintとして返します。 getMonth()を呼び出すことで列挙型Monthが使用される場合は、アプリケーション・コードがより明確になることが多くなります。

      戻り値:
      月(1-12)
      関連項目:
      getMonth()
    • getMonth

      public Month getMonth()
      列挙型Monthを使用して、月フィールドを取得します。

      このメソッドは、月を表す列挙型Monthを返します。 これによって、int値が意味する内容に関する混乱を回避できます。 プリミティブなint値にアクセスする必要がある場合、この列挙型はint値を提供します。

      戻り値:
      月。null以外
      関連項目:
      getMonthValue()
    • getDayOfMonth

      public int getDayOfMonth()
      「月の日」フィールドを取得します。

      このメソッドは、「月の日」を表すプリミティブなint値を返します。

      戻り値:
      「月の日」(1-31)
    • getDayOfYear

      public int getDayOfYear()
      「年の日」フィールドを取得します。

      このメソッドは、「年の日」を表すプリミティブなint値を返します。

      戻り値:
      「年の日」。1-365または1-366(うるう年の場合)
    • getDayOfWeek

      public DayOfWeek getDayOfWeek()
      列挙型DayOfWeekである曜日フィールドを取得します。

      このメソッドは、曜日を表す列挙型DayOfWeekを返します。 これによって、int値が意味する内容に関する混乱を回避できます。 プリミティブなint値にアクセスする必要がある場合、この列挙型はint値を提供します。

      DayOfWeekからは追加情報を取得できます。 具体的には、それらの値のテキスト名などがあります。

      戻り値:
      曜日、null以外
    • toLocalTime

      public LocalTime toLocalTime()
      この日付/時間のLocalTime部分を取得します。

      これは、この日付/時間と同じ時、分、秒、およびナノ秒を使ってLocalTimeを返します。

      定義:
      toLocalTime、インタフェース: ChronoLocalDateTime<LocalDate>
      戻り値:
      日付/時間の時間部分、null以外
    • 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 LocalDateTime with​(TemporalAdjuster adjuster)
      この日付/時間の調整済のコピーを返します。

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

      単純なアジャスタは、年フィールドなどの1つのフィールドだけを設定するなどです。 複雑なアジャスタは、日付を月の最後の日に設定するなどです。

      一般的な調整の選択は、TemporalAdjustersで指定します。 これらには、「月の最後の日」や「次の水曜日」を見つけることが含まれます。 主要な日付/時間クラス(MonthMonthDayなど)も、TemporalAdjusterインタフェースを実装します。 アジャスタは、さまざまな長さの月やうるう年などの特別なケースの処理を担当します。

      たとえば、このコードでは7月の最後の日の日付を返します。

        import static java.time.Month.*;
        import static java.time.temporal.TemporalAdjusters.*;
      
        result = localDateTime.with(JULY).with(lastDayOfMonth());
       

      クラスLocalDateおよびLocalTimeTemporalAdjusterを実装するため、このメソッドを使用すると、日付、時間、またはオフセットを変更できます。

        result = localDateTime.with(date);
        result = localDateTime.with(time);
       

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

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

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

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

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

      場合によっては、指定されたフィールドを変更すると、結果となる日付/時間が無効になることがあります(1月31日の月を2月に変更すると、「月の日」が無効になるなど)。 このような場合、そのフィールドは日付の解決を行います。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。

      フィールドがChronoFieldの場合は、調整はここで実装されます。 サポートされているフィールドは、LocalDateまたはLocalTime上の一致するメソッドに従って動作します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。

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

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

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

      public LocalDateTime withYear​(int year)
      年を変更して、このLocalDateTimeのコピーを返します。

      時間は計算に影響を及ぼさないので、結果でも同じになります。 その「月の日」がその年に対して無効である場合は、その月の最後の有効な日に変更されます。

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

      パラメータ:
      year - 結果に設定される年(MIN_YEARからMAX_YEARまで)
      戻り値:
      リクエストされた年を含む、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 年の値が無効である場合
    • withMonth

      public LocalDateTime withMonth​(int month)
      月を変更して、このLocalDateTimeのコピーを返します。

      時間は計算に影響を及ぼさないので、結果でも同じになります。 その「月の日」がその年に対して無効である場合は、その月の最後の有効な日に変更されます。

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

      パラメータ:
      month - 結果に設定される月。1(1月)-12(12月)
      戻り値:
      リクエストされた月を含む、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 月の値が無効である場合
    • withDayOfMonth

      public LocalDateTime withDayOfMonth​(int dayOfMonth)
      「月の日」を変更して、このLocalDateTimeのコピーを返します。

      結果となる日付/時間が無効である場合は、例外がスローされます。 時間は計算に影響を及ぼさないので、結果でも同じになります。

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

      パラメータ:
      dayOfMonth - 結果に設定される「月の日」。1から28-31まで
      戻り値:
      リクエストされた日を含む、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 「月の日」の値が無効である場合、または「月の日」がその月-年に対して無効である場合
    • withDayOfYear

      public LocalDateTime withDayOfYear​(int dayOfYear)
      「年の日」を変更して、このLocalDateTimeのコピーを返します。

      結果となる日付/時間が無効である場合は、例外がスローされます。

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

      パラメータ:
      dayOfYear - 結果に設定される「年の日」。1から365-366まで
      戻り値:
      リクエストされた日を含む、この日付に基づいたLocalDateTime。null以外
      例外:
      DateTimeException - 「年の日」の値が無効である場合、または「年の日」がその年に対して無効である場合
    • withHour

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public LocalDateTime plus​(TemporalAmount amountToAdd)
      指定された量を加算した、この日付/時間のコピーを返します。

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

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

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

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

      public LocalDateTime plus​(long amountToAdd, TemporalUnit unit)
      指定された量を加算した、この日付/時間のコピーを返します。

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

      フィールドがChronoUnitの場合は、加算はここで実装されます。 日付単位は、LocalDate.plus(long, TemporalUnit)に従って加算されます。 時間単位はLocalTime.plus(long, TemporalUnit)に従って加算され、加算された日数でのオーバーフローは、plusDays(long)を使用することと同等になります。

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

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

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

      public LocalDateTime plusYears​(long years)
      指定された年数を加算して、このLocalDateTimeのコピーを返します。

      このメソッドは、3つのステップで、指定された量を年フィールドに加算します。

      1. 入力された年数を年フィールドに加算します
      2. 結果となる日付が無効になるかどうかをチェックします
      3. 必要に応じて、「月の日」を最後の有効な日に調整します

      たとえば、2008-02-29 (うるう年)に1年を加算すると、2009-02-29(標準の年)という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2009-02-28が選択されます。

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

      パラメータ:
      years - 加算する年数。負の値の場合もある
      戻り値:
      その年数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • plusMonths

      public LocalDateTime plusMonths​(long months)
      指定された月数を加算して、このLocalDateTimeのコピーを返します。

      このメソッドは、3つのステップで、指定された量を月フィールドに加算します。

      1. 入力された月数を、月フィールドに加算します
      2. 結果となる日付が無効になるかどうかをチェックします
      3. 必要に応じて、「月の日」を最後の有効な日に調整します

      たとえば、2007-03-31に1月を加算すると、2007-04-31という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2007-04-30が選択されます。

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

      パラメータ:
      months - 加算する月数。負の値の場合もある
      戻り値:
      その月数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • plusWeeks

      public LocalDateTime plusWeeks​(long weeks)
      指定された週数を加算して、このLocalDateTimeのコピーを返します。

      このメソッドは、指定された週単位の量を日フィールドに加算し、結果が有効のままであるように、必要に応じて月および年フィールドを増分します。 この結果が無効になるのは、最大/最小の年を超える場合のみです。

      たとえば、2008-12-31に1週間を加算すると、2009-01-07という結果になります。

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

      パラメータ:
      weeks - 加算する週数。負の値の場合もある
      戻り値:
      その週数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • plusDays

      public LocalDateTime plusDays​(long days)
      指定された日数を加算して、このLocalDateTimeのコピーを返します。

      このメソッドは、指定された量を日フィールドに加算し、結果が有効のままであるように、必要に応じて月および年フィールドを増分します。 この結果が無効になるのは、最大/最小の年を超える場合のみです。

      たとえば、2008-12-31に1日を加算すると、2009-01-01という結果になります。

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

      パラメータ:
      days - 加算する日数。負の値の場合もある
      戻り値:
      その日数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • plusHours

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

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

      パラメータ:
      hours - 加算する時間数。負の値の場合もある
      戻り値:
      その時間数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • plusMinutes

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

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

      パラメータ:
      minutes - 加算する分数。負の値の場合もある
      戻り値:
      その分数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • plusSeconds

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

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

      パラメータ:
      seconds - 加算する秒数。負の値の場合もある
      戻り値:
      その秒数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • plusNanos

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

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

      パラメータ:
      nanos - 加算するナノ秒数。負の値の場合もある
      戻り値:
      そのナノ秒数が加算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minus

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

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

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

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

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

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

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

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

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

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

      public LocalDateTime minusYears​(long years)
      指定された年数を減算して、このLocalDateTimeのコピーを返します。

      このメソッドは、3つのステップで、指定された量を年フィールドから減算します。

      1. 入力された年数を年フィールドから減算します
      2. 結果となる日付が無効になるかどうかをチェックします
      3. 必要に応じて、「月の日」を最後の有効な日に調整します

      たとえば、2008-02-29 (うるう年)から1年を減算すると、2007-02-29(標準の年)という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2007-02-28が選択されます。

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

      パラメータ:
      years - 減算する年数。負の値の場合もある
      戻り値:
      その年数が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minusMonths

      public LocalDateTime minusMonths​(long months)
      指定された月数を減算して、このLocalDateTimeのコピーを返します。

      このメソッドは、3つのステップで、指定された量を月フィールドから減算します。

      1. 入力された月数を、年の何月かを表すフィールドから減算します
      2. 結果となる日付が無効になるかどうかをチェックします
      3. 必要に応じて、「月の日」を最後の有効な日に調整します

      たとえば、2007-03-31から1月を減算すると、2007-02-31という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2007-02-28が選択されます。

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

      パラメータ:
      months - 減算する月数。負の値の場合もある
      戻り値:
      その月数が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minusWeeks

      public LocalDateTime minusWeeks​(long weeks)
      指定された週数を減算して、このLocalDateTimeのコピーを返します。

      このメソッドは、指定された週単位の量を日フィールドから減算し、結果が有効のままであるように、必要に応じて月および年フィールドを減らします。 この結果が無効になるのは、最大/最小の年を超える場合のみです。

      たとえば、2009-01-07から1週間を減算すると、2008-12-31という結果になります。

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

      パラメータ:
      weeks - 減算する週数。負の値の場合もある
      戻り値:
      その週数が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minusDays

      public LocalDateTime minusDays​(long days)
      指定された日数を減算して、このLocalDateTimeのコピーを返します。

      このメソッドは、指定された量を日フィールドから減算し、結果が有効のままであるように、必要に応じて月および年フィールドを減らします。 この結果が無効になるのは、最大/最小の年を超える場合のみです。

      たとえば、2009-01-01から1日を減算すると、2008-12-31という結果になります。

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

      パラメータ:
      days - 減算する日数。負の値の場合もある
      戻り値:
      その日数が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minusHours

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

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

      パラメータ:
      hours - 減算する時間数。負の値の場合もある
      戻り値:
      その時間数が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minusMinutes

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

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

      パラメータ:
      minutes - 減算する分数。負の値の場合もある
      戻り値:
      その分数が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minusSeconds

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

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

      パラメータ:
      seconds - 減算する秒数。負の値の場合もある
      戻り値:
      その秒数が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • minusNanos

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

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

      パラメータ:
      nanos - 減算するナノ秒数。負の値の場合もある
      戻り値:
      そのナノ秒が減算された、この日付/時間に基づくLocalDateTime。null以外
      例外:
      DateTimeException - 結果がサポートされている日付範囲を超える場合
    • query

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

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

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

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

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

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

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

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

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

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

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

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

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

      この計算では、2つの日付/時間の間の完全な単位の数を表す整数を返します。 たとえば、2012-06-15T00:00と2012-08-14T23:59の間の月単位の量は、2か月には1秒足りないため、1か月のみとなります。

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

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

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

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

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

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

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

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

      定義:
      format、インタフェース: ChronoLocalDateTime<LocalDate>
      パラメータ:
      formatter - 使用するフォーマッタ、null以外
      戻り値:
      書式設定済の日付/時間文字列、null以外
      例外:
      DateTimeException - 出力時にエラーが発生した場合
    • atOffset

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

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

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

      public ZonedDateTime atZone​(ZoneId zone)
      この日付/時間をタイムゾーンと組み合せてZonedDateTimeを作成します。

      これは、指定されたタイムゾーンでこの日付/時間から形成されたZonedDateTimeを返します。 結果はこの日付/時間に可能な限り近くに一致します。 夏時間などのタイムゾーンのルールでは、指定されたゾーンで、すべてのローカル日付/時間が有効であるとは限らないことを意味するため、ローカル日付/時間が調整されることがあります。

      ローカル日付/時間は時系列上の単一のインスタントに解決されます。 これは、ゾーンIDのrulesによって定義されているとおりに、ローカル日付/時間のUTC/グリニッジ標準時からの有効なオフセットを見つけることによって、実現されます。

      ほとんどの場合に、ローカル日付/時間の有効なオフセットは1つだけです。 重複がある場合、クロックが設定し直され、2つの有効なオフセットが存在します。 このメソッドは、一般に「夏」に対応する早い方のオフセットを使用します。

      ギャップがある場合、クロックは前方にジャンプし、有効なオフセットが存在しません。 代わりに、ローカル日付/時間がギャップの長さだけ後ろに調整されます。 一般的な1時間の夏時間の変更では、ローカル日付/時間が、一般に「夏」に対応するオフセットの中の1時間後方に移動されます。

      重複の発生時に遅い方のオフセットを取得するには、このメソッドの結果に対してZonedDateTime.withLaterOffsetAtOverlap()を呼び出します。 ギャップまたは重複があるときに例外をスローするには、ZonedDateTime.ofStrict(LocalDateTime, ZoneOffset, ZoneId)を使用します。

      定義:
      atZone、インタフェース: ChronoLocalDateTime<LocalDate>
      パラメータ:
      zone - 使用するタイムゾーン、null以外
      戻り値:
      この日付/時間から形成されたゾーン付きの日付/時間、null以外
    • compareTo

      public int compareTo​(ChronoLocalDateTime<?> other)
      この日付/時間を別の日付/時間と比較します。

      この比較は主として日付/時間(もっとも早いものからもっとも遅いものまで)に基づいています。 Comparableに定義されているとおりに、「equalsと一致」しています。

      比較対象のすべての日付/時間がLocalDateTimeのインスタンスである場合、比較は完全にその日付/時間に基づいて行われます。 比較対象の日付の中に異なる暦のものが含まれている場合、その暦も考慮されます(ChronoLocalDateTime.compareTo(java.time.chrono.ChronoLocalDateTime<?>)を参照)。

      定義:
      compareTo、インタフェース: ChronoLocalDateTime<LocalDate>
      定義:
      compareTo in interface Comparable<ChronoLocalDateTime<?>>
      パラメータ:
      other - 他の比較する日付/時間、null以外
      戻り値:
      コンパレータ値、小さい場合は負、大きい場合は正
    • isAfter

      public boolean isAfter​(ChronoLocalDateTime<?> other)
      この日付/時間が、指定された日付/時間より後にあるかどうかをチェックします。

      これは、この日付/時間がローカル時系列上のもう一方の日付/時間より後の時点を表しているかどうかを確認します。

         LocalDate a = LocalDateTime.of(2012, 6, 30, 12, 00);
         LocalDate b = LocalDateTime.of(2012, 7, 1, 12, 00);
         a.isAfter(b) == false
         a.isAfter(a) == false
         b.isAfter(a) == true
       

      このメソッドは、ローカル時系列上の2つの日付/時間の位置のみを考慮します。 暦(暦体系)は考慮に入れません。 これはcompareTo(ChronoLocalDateTime)での比較とは異なりますが、ChronoLocalDateTime.timeLineOrder()とは同じ方法です。

      定義:
      isAfter、インタフェース: ChronoLocalDateTime<LocalDate>
      パラメータ:
      other - 他の比較する日付/時間、null以外
      戻り値:
      この日付/時間が指定された日付/時間より後にある場合はtrue
    • isBefore

      public boolean isBefore​(ChronoLocalDateTime<?> other)
      この日付/時間が、指定された日付/時間より前にあるかどうかをチェックします。

      これは、この日付/時間がローカル時系列上のもう一方の日付/時間より前の時点を表しているかどうかを確認します。

         LocalDate a = LocalDateTime.of(2012, 6, 30, 12, 00);
         LocalDate b = LocalDateTime.of(2012, 7, 1, 12, 00);
         a.isBefore(b) == true
         a.isBefore(a) == false
         b.isBefore(a) == false
       

      このメソッドは、ローカル時系列上の2つの日付/時間の位置のみを考慮します。 暦(暦体系)は考慮に入れません。 これはcompareTo(ChronoLocalDateTime)での比較とは異なりますが、ChronoLocalDateTime.timeLineOrder()とは同じ方法です。

      定義:
      isBefore、インタフェース: ChronoLocalDateTime<LocalDate>
      パラメータ:
      other - 他の比較する日付/時間、null以外
      戻り値:
      この日付/時間が指定された日付/時間より前にある場合はtrue
    • isEqual

      public boolean isEqual​(ChronoLocalDateTime<?> other)
      この日付/時間が、指定された日付/時間と等しいかどうかをチェックします。

      これは、この日付/時間がローカル時系列上のもう一方の日付/時間と同じ時点を表しているかどうかを確認します。

         LocalDate a = LocalDateTime.of(2012, 6, 30, 12, 00);
         LocalDate b = LocalDateTime.of(2012, 7, 1, 12, 00);
         a.isEqual(b) == false
         a.isEqual(a) == true
         b.isEqual(a) == false
       

      このメソッドは、ローカル時系列上の2つの日付/時間の位置のみを考慮します。 暦(暦体系)は考慮に入れません。 これはcompareTo(ChronoLocalDateTime)での比較とは異なりますが、ChronoLocalDateTime.timeLineOrder()とは同じ方法です。

      定義:
      isEqual、インタフェース: ChronoLocalDateTime<LocalDate>
      パラメータ:
      other - 他の比較する日付/時間、null以外
      戻り値:
      この日付/時間が指定された日付/時間と等しい場合はtrue
    • equals

      public boolean equals​(Object obj)
      この日付/時間が別の日付/時間と等しいかどうかをチェックします。

      このLocalDateTimeをもう一方と比較して、その日付/時間が同じであることを確認します。 LocalDateTime型のオブジェクトのみが比較され、それ以外の型はfalseを返します。

      定義:
      equals、インタフェース: ChronoLocalDateTime<LocalDate>
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      obj - チェックするオブジェクト、nullはfalseを返す
      戻り値:
      これが他の日付/時間と等しい場合はtrue
      関連項目:
      Object.hashCode()HashMap
    • hashCode

      public int hashCode()
      この日付/時間のハッシュ・コード。
      定義:
      hashCode、インタフェース: ChronoLocalDateTime<LocalDate>
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      適切なハッシュ・コード
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • toString

      public String toString()
      この日付/時間をStringとして出力します(2007-12-03T10:15:30など)。

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

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

      定義:
      toString、インタフェース: ChronoLocalDateTime<LocalDate>
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      この日付/時間の文字列表現、null以外