クラスLocalDateTime
- すべての実装されたインタフェース:
Serializable,Comparable<ChronoLocalDateTime<?>>,ChronoLocalDateTime<LocalDate>,Temporal,TemporalAccessor,TemporalAdjuster
2007-12-03T10:15:30など。
LocalDateTimeは、日付/時間(年-月-日-時-分-秒として表示されることが多い)を表す不変の日付/時間オブジェクトです。 他の日付と時間フィールド(「年の日」、曜日、「年の週番号」など)にもアクセスできます。 時間は、ナノ秒の精度まで表されます。 たとえば、「2007年10月2日の13:45.30.123456789」という値をLocalDateTimeに格納できます。
このクラスでは、タイムゾーンを格納したり表現したりしません。 むしろこれは、壁掛け時計に見られるようなローカル時間と組み合された、誕生日に使用されるような日付に関する記述です。 オフセットやタイムゾーンなどの追加情報がなければ、時系列上にインスタントを表現することはできません。
ISO-8601暦体系は、世界中の大部分で現在使われている近代の常用暦体系です。 これは、現在のうるう年のルールがすべての時間に適用される、先発グレゴリオ暦体系と同等です。 今日作成されているほとんどのアプリケーションには、ISO-8601のルールが完全に適しています。 ただし、歴史的な日付を使用し、それらが正確であることを必要とするアプリケーションには、ISO-8601の方法が適さないことがわかります。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equalsメソッドを使用することをお薦めします。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final LocalDateTimeサポートされている最大のLocalDateTimeである「+999999999-12-31T23:59:59.999999999」。static final LocalDateTimeサポートされている最小のLocalDateTimeである「-999999999-01-01T00:00:00」。 -
メソッドのサマリー
修飾子と型メソッド説明adjustInto(Temporal temporal) 指定された時間的オブジェクトをこのオブジェクトと同じ日付と時間になるように調整します。atOffset(ZoneOffset offset) この日付/時間をオフセットと組み合せてOffsetDateTimeを作成します。この日付/時間をタイムゾーンと組み合せてZonedDateTimeを作成します。intcompareTo(ChronoLocalDateTime<?> other) この日付/時間を別の日付/時間と比較します。booleanこの日付/時間が別の日付/時間と等しいかどうかをチェックします。format(DateTimeFormatter formatter) 指定されたフォーマッタを使用してこの日付/時間を書式設定します。static LocalDateTimefrom(TemporalAccessor temporal) 時間的オブジェクトからLocalDateTimeのインスタンスを取得します。intget(TemporalField field) 指定されたフィールドの値をこの日付/時間からintとして取得します。int「月の日」フィールドを取得します。列挙型DayOfWeekである曜日フィールドを取得します。int「年の日」フィールドを取得します。intgetHour()時フィールドを取得します。longgetLong(TemporalField field) 指定されたフィールドの値をこの日付/時間からlongとして取得します。int分フィールドを取得します。getMonth()列挙型Monthを使用して、月フィールドを取得します。int月フィールドを取得します(1-12)。intgetNano()ナノ秒フィールドを取得します。int秒フィールドを取得します。intgetYear()年フィールドを取得します。inthashCode()この日付/時間のハッシュ・コード。booleanisAfter(ChronoLocalDateTime<?> other) この日付/時間が、指定された日付/時間より後にあるかどうかをチェックします。booleanisBefore(ChronoLocalDateTime<?> other) この日付/時間が、指定された日付/時間より前にあるかどうかをチェックします。booleanisEqual(ChronoLocalDateTime<?> other) この日付/時間が、指定された日付/時間と等しいかどうかをチェックします。booleanisSupported(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。booleanisSupported(TemporalUnit unit) 指定された単位がサポートされているかどうかをチェックします。minus(long amountToSubtract, TemporalUnit unit) 指定された量を減算した、この日付/時間のコピーを返します。minus(TemporalAmount amountToSubtract) 指定された量を減算した、この日付/時間のコピーを返します。minusDays(long days) 指定された日数を減算して、このLocalDateTimeのコピーを返します。minusHours(long hours) 指定された時間数を減算して、このLocalDateTimeのコピーを返します。minusMinutes(long minutes) 指定された分数を減算して、このLocalDateTimeのコピーを返します。minusMonths(long months) 指定された月数を減算して、このLocalDateTimeのコピーを返します。minusNanos(long nanos) 指定されたナノ秒数を減算して、このLocalDateTimeのコピーを返します。minusSeconds(long seconds) 指定された秒数を減算して、このLocalDateTimeのコピーを返します。minusWeeks(long weeks) 指定された週数を減算して、このLocalDateTimeのコピーを返します。minusYears(long years) 指定された年数を減算して、このLocalDateTimeのコピーを返します。static LocalDateTimenow()デフォルトのタイムゾーンのシステム・クロックから現在の日付/時間を取得します。static LocalDateTime指定されたクロックから現在の日付/時間を取得します。static LocalDateTime指定されたタイムゾーンのシステム・クロックから現在の日付/時間を取得します。static LocalDateTimeof(int year, int month, int dayOfMonth, int hour, int minute) 秒およびナノ秒をゼロに設定して、年、月、日、時、および分からLocalDateTimeのインスタンスを取得します。static LocalDateTimeof(int year, int month, int dayOfMonth, int hour, int minute, int second) ナノ秒をゼロに設定して、年、月、日、時、分、および秒からLocalDateTimeのインスタンスを取得します。static LocalDateTimeof(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond) 年、月、日、時、分、秒、およびナノ秒からLocalDateTimeのインスタンスを取得します。static LocalDateTime秒およびナノ秒をゼロに設定して、年、月、日、時、および分からLocalDateTimeのインスタンスを取得します。static LocalDateTimeナノ秒をゼロに設定して、年、月、日、時、分、および秒からLocalDateTimeのインスタンスを取得します。static LocalDateTime年、月、日、時、分、秒、およびナノ秒からLocalDateTimeのインスタンスを取得します。static LocalDateTime日付と時間からLocalDateTimeのインスタンスを取得します。static LocalDateTimeofEpochSecond(long epochSecond, int nanoOfSecond, ZoneOffset offset) エポック(1970-01-01T00:00:00Z)からの秒数を使用して、LocalDateTimeのインスタンスを取得します。static LocalDateTimeInstantおよびゾーンIDからLocalDateTimeのインスタンスを取得します。static LocalDateTimeparse(CharSequence text) 2007-12-03T10:15:30などのテキスト文字列からLocalDateTimeのインスタンスを取得します。static LocalDateTimeparse(CharSequence text, DateTimeFormatter formatter) 特定のフォーマッタを使用して、テキスト文字列からLocalDateTimeのインスタンスを取得します。plus(long amountToAdd, TemporalUnit unit) 指定された量を加算した、この日付/時間のコピーを返します。plus(TemporalAmount amountToAdd) 指定された量を加算した、この日付/時間のコピーを返します。plusDays(long days) 指定された日数を加算して、このLocalDateTimeのコピーを返します。plusHours(long hours) 指定された時間数を加算して、このLocalDateTimeのコピーを返します。plusMinutes(long minutes) 指定された分数を加算して、このLocalDateTimeのコピーを返します。plusMonths(long months) 指定された月数を加算して、このLocalDateTimeのコピーを返します。plusNanos(long nanos) 指定されたナノ秒数を加算して、このLocalDateTimeのコピーを返します。plusSeconds(long seconds) 指定された秒数を加算して、このLocalDateTimeのコピーを返します。plusWeeks(long weeks) 指定された週数を加算して、このLocalDateTimeのコピーを返します。plusYears(long years) 指定された年数を加算して、このLocalDateTimeのコピーを返します。<R> Rquery(TemporalQuery<R> query) 指定された問合せを使用してこの日付/時間を問い合わせます。range(TemporalField field) 指定されたフィールドの有効な値の範囲を取得します。この日付/時間のLocalDate部分を取得します。この日付/時間のLocalTime部分を取得します。toString()この日付/時間をStringとして出力します(2007-12-03T10:15:30など)。truncatedTo(TemporalUnit unit) 時間が切り捨てられた、このLocalDateTimeのコピーを返します。longuntil(Temporal endExclusive, TemporalUnit unit) もう一方の日付/時間までの時間量を指定された単位で計算します。with(TemporalAdjuster adjuster) この日付/時間の調整済のコピーを返します。with(TemporalField field, long newValue) 指定されたフィールドを新しい値に設定して、この日付/時間のコピーを返します。withDayOfMonth(int dayOfMonth) 「月の日」を変更して、このLocalDateTimeのコピーを返します。withDayOfYear(int dayOfYear) 「年の日」を変更して、このLocalDateTimeのコピーを返します。withHour(int hour) 時の値を変更して、このLocalDateTimeのコピーを返します。withMinute(int minute) 分の値を変更して、このLocalDateTimeのコピーを返します。withMonth(int month) 月を変更して、このLocalDateTimeのコピーを返します。withNano(int nanoOfSecond) ナノ秒の値を変更して、このLocalDateTimeのコピーを返します。withSecond(int second) 秒の値を変更して、このLocalDateTimeのコピーを返します。withYear(int year) 年を変更して、このLocalDateTimeのコピーを返します。インタフェースjava.time.chrono.ChronoLocalDateTimeで宣言されたメソッド
getChronology, toEpochSecond, toInstant
-
フィールド詳細
-
MIN
public static final LocalDateTime MINサポートされている最小のLocalDateTimeである「-999999999-01-01T00:00:00」。 これは、最小日付の開始時の深夜零時のローカル日付/時間です。 これはLocalDate.MINとLocalTime.MINを組み合せたものです。 これは、アプリケーションによって「遠い過去」の日付/時間として使用されることがあります。 -
MAX
public static final LocalDateTime MAXサポートされている最大のLocalDateTimeである「+999999999-12-31T23:59:59.999999999」。 これは、最大日付の終わりの深夜零時直前のローカル日付/時間です。 これはLocalDate.MAXとLocalTime.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に変換できない場合
-
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の場合、
range、get、およびwith(TemporalField, long)メソッドの呼び出しは、例外をスローします。フィールドが
ChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは、次のとおりです。NANO_OF_SECONDNANO_OF_DAYMICRO_OF_SECONDMICRO_OF_DAYMILLI_OF_SECONDMILLI_OF_DAYSECOND_OF_MINUTESECOND_OF_DAYMINUTE_OF_HOURMINUTE_OF_DAYHOUR_OF_AMPMCLOCK_HOUR_OF_AMPMHOUR_OF_DAYCLOCK_HOUR_OF_DAYAMPM_OF_DAYDAY_OF_WEEKALIGNED_DAY_OF_WEEK_IN_MONTHALIGNED_DAY_OF_WEEK_IN_YEARDAY_OF_MONTHDAY_OF_YEAREPOCH_DAYALIGNED_WEEK_OF_MONTHALIGNED_WEEK_OF_YEARMONTH_OF_YEARPROLEPTIC_MONTHYEAR_OF_ERAYEARERA
ChronoFieldインスタンスはfalseを返します。フィールドが
ChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
isSupported、インタフェースChronoLocalDateTime<LocalDate>- 定義:
- インタフェース
TemporalAccessorのisSupported - パラメータ:
field- チェックするフィールド、nullはfalseを返す- 戻り値:
- フィールドがこの日付/時間でサポートされている場合はtrue、サポートされていない場合はfalse
-
isSupported
public boolean isSupported(TemporalUnit unit) 指定された単位がサポートされているかどうかをチェックします。これは、指定された単位をこの日付/時間に対して加算または減算できるかどうかをチェックします。 falseの場合、
plus(long, TemporalUnit)およびminusメソッドの呼び出しは、例外をスローします。単位が
ChronoUnitの場合、問合せはここで実装されます。 サポートされる単位は次のとおりです。NANOSMICROSMILLISSECONDSMINUTESHOURSHALF_DAYSDAYSWEEKSMONTHSYEARSDECADESCENTURIESMILLENNIAERAS
ChronoUnitインスタンスはfalseを返します。単位が
ChronoUnitでない場合、このメソッドの結果は、thisを引数として渡してTemporalUnit.isSupportedBy(Temporal)を呼び出すことによって取得します。 単位がサポートされているかどうかは単位によって決定します。- 定義:
isSupported、インタフェースChronoLocalDateTime<LocalDate>- 定義:
- インタフェース
TemporalのisSupported - パラメータ:
unit- チェックする単位、nullはfalseを返す- 戻り値:
- 単位を加算/減算できる場合はtrue、できない場合はfalse
-
range
public ValueRange range(TemporalField field) 指定されたフィールドの有効な値の範囲を取得します。範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この日付/時間は、返される範囲の精度を高めるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。サポートされるフィールドは適切な範囲のインスタンスを返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのrange - パラメータ:
field- 範囲を問い合わせるフィールド、null以外- 戻り値:
- フィールドの有効値の範囲。null以外
- スロー:
DateTimeException- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合
-
get
public int get(TemporalField field) 指定されたフィールドの値をこの日付/時間からintとして取得します。これは、指定されたフィールドの値についてこの日付/時間に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。supported fieldsは、この日時に基づいて有効な値を返します。ただし、NANO_OF_DAY,MICRO_OF_DAY,EPOCH_DAYおよびPROLEPTIC_MONTHは大きすぎてintに収まらないため、UnsupportedTemporalTypeExceptionをスローします。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのget - パラメータ:
field- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- スロー:
DateTimeException- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合、または値の範囲がintを超えている場合ArithmeticException- 数値のオーバーフローが発生した場合
-
getLong
public long getLong(TemporalField field) 指定されたフィールドの値をこの日付/時間からlongとして取得します。これは、指定されたフィールドの値についてこの日付/時間に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。サポートされるフィールドは、この日付/時間に基づく有効な値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのgetLong - パラメータ:
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
-
getDayOfMonth
public int getDayOfMonth()「月の日」フィールドを取得します。このメソッドは、「月の日」を表すプリミティブな
int値を返します。- 戻り値:
- 「月の日」(1-31)
-
getDayOfYear
public int getDayOfYear()「年の日」フィールドを取得します。このメソッドは、「年の日」を表すプリミティブな
int値を返します。- 戻り値:
- 「年の日」。1-365または1-366(うるう年の場合)
-
getDayOfWeek
-
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で指定します。 これらには、「月の最後の日」や「次の水曜日」を見つけることが含まれます。 主要な日付/時間クラス(MonthやMonthDayなど)も、TemporalAdjusterインタフェースを実装します。 アジャスタは、さまざまな長さの月やうるう年などの特別なケースの処理を担当します。たとえば、このコードでは7月の最後の日の日付を返します。
import static java.time.Month.*; import static java.time.temporal.TemporalAdjusters.*; result = localDateTime.with(JULY).with(lastDayOfMonth());
クラス
LocalDateおよびLocalTimeはTemporalAdjusterを実装するため、このメソッドを使用すると、日付、時間、またはオフセットを変更できます。result = localDateTime.with(date); result = localDateTime.with(time);
このメソッドの結果は、指定されたアジャスタで
thisを引数として渡してTemporalAdjuster.adjustInto(Temporal)メソッドを呼び出すことによって取得されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
with、インタフェースChronoLocalDateTime<LocalDate>- 定義:
- インタフェース
Temporalのwith - パラメータ:
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>- 定義:
- インタフェース
Temporalのwith - パラメータ:
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のコピーを返します。切り詰めでは、指定された単位よりも小さいフィールドをゼロに設定して、元の日付/時間のコピーを返します。 たとえば、
分単位で切り詰めると、秒およびナノ秒フィールドはゼロに設定されます。単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。 これには、
ChronoUnitとDAYSで提供されるすべての時間単位が含まれます。 他の単位は例外をスローします。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
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>- 定義:
- インタフェース
Temporalのplus - パラメータ:
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>- 定義:
- インタフェース
Temporalのplus - パラメータ:
amountToAdd- 結果に加算する単位の量、負も可unit- 加算する量の単位、nullでない- 戻り値:
- 指定された量が加算された、この日付/時間に基づく
LocalDateTime。null以外 - スロー:
DateTimeException- 加算できない場合UnsupportedTemporalTypeException- 単位がサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
plusYears
public LocalDateTime plusYears(long years) 指定された年数を加算して、このLocalDateTimeのコピーを返します。このメソッドは、3つのステップで、指定された量を年フィールドに加算します。
- 入力された年数を年フィールドに加算します
- 結果となる日付が無効になるかどうかをチェックします
- 必要に応じて、「月の日」を最後の有効な日に調整します
たとえば、2008-02-29 (うるう年)に1年を加算すると、2009-02-29(標準の年)という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2009-02-28が選択されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
years- 加算する年数。負の値の場合もある- 戻り値:
- その年数が加算された、この日付/時間に基づく
LocalDateTime。null以外 - スロー:
DateTimeException- 結果がサポートされている日付範囲を超える場合
-
plusMonths
public LocalDateTime plusMonths(long months) 指定された月数を加算して、このLocalDateTimeのコピーを返します。このメソッドは、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>- 定義:
- インタフェース
Temporalのminus - パラメータ:
amountToSubtract- 減算する量、nullでない- 戻り値:
- 減算が行われた、この日付/時間に基づく
LocalDateTime。null以外 - スロー:
DateTimeException- 減算ができない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
minus
public LocalDateTime minus(long amountToSubtract, TemporalUnit unit) 指定された量を減算した、この日付/時間のコピーを返します。これは、その単位での量を減算して、この日時に基づく
LocalDateTimeを返します。 量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。このメソッドは、量を符号反転した
plus(long, TemporalUnit)と同等です。 加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
minus、インタフェースChronoLocalDateTime<LocalDate>- 定義:
- インタフェース
Temporalのminus - パラメータ:
amountToSubtract- 結果から減算する単位の量、負も可unit- 減算する量の単位、nullでない- 戻り値:
- 指定された量が減算された、この日付/時間に基づく
LocalDateTime。null以外 - スロー:
DateTimeException- 減算ができない場合UnsupportedTemporalTypeException- 単位がサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
minusYears
public LocalDateTime minusYears(long years) 指定された年数を減算して、このLocalDateTimeのコピーを返します。このメソッドは、3つのステップで、指定された量を年フィールドから減算します。
- 入力された年数を年フィールドから減算します
- 結果となる日付が無効になるかどうかをチェックします
- 必要に応じて、「月の日」を最後の有効な日に調整します
たとえば、2008-02-29 (うるう年)から1年を減算すると、2007-02-29(標準の年)という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2007-02-28が選択されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
years- 減算する年数。負の値の場合もある- 戻り値:
- その年数が減算された、この日付/時間に基づく
LocalDateTime。null以外 - スロー:
DateTimeException- 結果がサポートされている日付範囲を超える場合
-
minusMonths
public LocalDateTime minusMonths(long months) 指定された月数を減算して、このLocalDateTimeのコピーを返します。このメソッドは、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>- 定義:
- インタフェース
TemporalAccessorのquery - 型パラメータ:
R- 結果のタイプ- パラメータ:
query- 呼び出す問合せ、null以外- 戻り値:
- 問合せ結果、nullが返されることがある(問合せによって定義される)
- スロー:
DateTimeException- 問い合わせできない場合(問合せによって定義される)ArithmeticException- 数値のオーバーフローが発生した場合(問合せによって定義される)
-
adjustInto
指定された時間的オブジェクトをこのオブジェクトと同じ日付と時間になるように調整します。これは、日時をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
調整は、
ChronoField.EPOCH_DAYとChronoField.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>- 定義:
- インタフェース
TemporalAdjusterのadjustInto - パラメータ:
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のこのメソッドに実装します。 サポートされている単位は、NANOS、MICROS、MILLIS、SECONDS、MINUTES、HOURS、HALF_DAYS、DAYS、WEEKS、MONTHS、YEARS、DECADES、CENTURIES、MILLENNIA、およびERASです。 その他のChronoUnit値は例外をスローします。単位が
ChronoUnitでない場合、このメソッドの結果は、thisを1つ目の引数として、変換される入力temporal (一時)を2つ目の引数として渡してTemporalUnit.between(Temporal, Temporal)を呼び出すことによって取得します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporalのuntil - パラメータ:
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>- 定義:
compareToin interfaceComparable<ChronoLocalDateTime<?>>- パラメータ:
other- 他の比較する日付/時間、null以外- 戻り値:
- 比較値(このローカル日時と
otherローカル日時およびこの時系列とother時系列との比較)は、最初の0以外の結果を返し、それ以外の場合は0を返します - 関連項目:
-
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
- 関連項目:
-
hashCode
public int hashCode()この日付/時間のハッシュ・コード。- 定義:
hashCode、インタフェースChronoLocalDateTime<LocalDate>- オーバーライド:
hashCode、クラスObject- 戻り値:
- 適切なハッシュ・コード
- 関連項目:
-
toString
public String toString()この日付/時間をStringとして出力します(2007-12-03T10:15:30など)。この出力は、次のISO-8601形式のいずれかになります。
uuuu-MM-dd'T'HH:mmuuuu-MM-dd'T'HH:mm:ssuuuu-MM-dd'T'HH:mm:ss.SSSuuuu-MM-dd'T'HH:mm:ss.SSSSSSuuuu-MM-dd'T'HH:mm:ss.SSSSSSSSS
- 定義:
toString、インタフェースChronoLocalDateTime<LocalDate>- オーバーライド:
toString、クラスObject- 戻り値:
- この日付/時間の文字列表現、null以外
-