public final class LocalDateTime extends Object implements Temporal, TemporalAdjuster, ChronoLocalDateTime<LocalDate>, Serializable
2007-12-03T10:15:30など。
LocalDateTimeは、日付/時間(年-月-日-時-分-秒として表示されることが多い)を表す不変の日付/時間オブジェクトです。 他の日付と時間フィールド(「年の日」、曜日、「年の週番号」など)にもアクセスできます。 時間は、ナノ秒の精度まで表されます。 たとえば、「2007年10月2日の13:45.30.123456789」という値をLocalDateTimeに格納できます。
このクラスでは、タイムゾーンを格納したり表現したりしません。 むしろこれは、壁掛け時計に見られるようなローカル時間と組み合された、誕生日に使用されるような日付に関する記述です。 オフセットやタイムゾーンなどの追加情報がなければ、時系列上にインスタントを表現することはできません。
ISO-8601暦体系は、世界中の大部分で現在使われている近代の常用暦体系です。 これは、現在のうるう年のルールがすべての時間に適用される、先発グレゴリオ暦体系と同等です。 今日作成されているほとんどのアプリケーションには、ISO-8601のルールが完全に適しています。 ただし、歴史的な日付を使用し、それらが正確であることを必要とするアプリケーションには、ISO-8601の方法が適さないことがわかります。
これは値ベースのクラスです。LocalDateTimeのインスタンスに対して、アイデンティティの影響を受けやすい操作(参照型等価演算子(==)、アイデンティティ・ハッシュ・コード、同期化など)を使用すると、予測できない結果が生じることがあるため、使わないようにしてください。 比較する場合は、equalsメソッドを使用することをお薦めします。
| 修飾子と型 | フィールド | 説明 |
|---|---|---|
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のコピーを返します。 |
getChronology, timeLineOrder, toEpochSecond, toInstantpublic static final LocalDateTime MIN
LocalDateTimeである「-999999999-01-01T00:00:00」。 これは、最小日付の開始時の深夜零時のローカル日付/時間です。 これはLocalDate.MINとLocalTime.MINを組み合せたものです。 これは、アプリケーションによって「遠い過去」の日付/時間として使用されることがあります。 public static final LocalDateTime MAX
LocalDateTimeである「+999999999-12-31T23:59:59.999999999」。 これは、最大日付の終わりの深夜零時直前のローカル日付/時間です。 これはLocalDate.MAXとLocalTime.MAXを組み合せたものです。 これは、アプリケーションによって「遠い将来」の日付/時間として使用されることがあります。 public static LocalDateTime now()
これは、デフォルトのタイムゾーンのシステム・クロックを問い合せて、現在の日付/時間を取得します。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
public static LocalDateTime now(ZoneId zone)
これは、システム・クロックを問い合せて現在の日付/時間を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
zone - 使用するゾーンID、null以外public static LocalDateTime now(Clock clock)
これは、指定されたクロックを問い合せて現在の日付/時間を取得します。 このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックはdependency injectionを使用して導入できます。
clock - 使用するクロック、null以外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)DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合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)DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合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,999DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合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)DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合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)DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合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,999DateTimeException - いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合public static LocalDateTime of(LocalDate date, LocalTime time)
LocalDateTimeのインスタンスを取得します。date - ローカル日付。null以外time - ローカル時間。null以外public static LocalDateTime ofInstant(Instant instant, ZoneId zone)
InstantおよびゾーンIDからLocalDateTimeのインスタンスを取得します。
これは、指定されたインスタントに基づいてローカル日付/時間を作成します。 まず、ゾーンIDとインスタントを使用してUTC/グリニッジからのオフセットが取得されます。有効なオフセットはインスタントごとに1つしかないため、これは単純です。 次に、そのインスタントおよびオフセットを使ってローカル日付/時間が計算されます。
instant - 日付/時間の作成元のインスタント、null以外zone - タイムゾーン。オフセットの場合もある。null以外DateTimeException - 結果がサポートされている範囲を超える場合public static LocalDateTime ofEpochSecond(long epochSecond, int nanoOfSecond, ZoneOffset offset)
LocalDateTimeのインスタンスを取得します。
これにより、エポック秒のフィールドをローカル日付/時間に変換できます。 これは一般的なアプリケーションの使用法ではなく、低レベルの変換を主な目的としたものです。
epochSecond - エポック(1970-01-01T00:00:00Z)からの秒数nanoOfSecond - 1秒のうちのナノ秒(0-999,999,999)offset - ゾーンオフセット。null以外DateTimeException - 結果がサポートされている範囲を超えている場合、またはナノ秒が無効な場合public static LocalDateTime from(TemporalAccessor temporal)
LocalDateTimeのインスタンスを取得します。
これは、指定された時間的オブジェクトに基づいてローカル日付/時間を取得します。 TemporalAccessorは任意の日付と時間のセットに関する情報を表し、それがこのファクトリでLocalDateTimeのインスタンスに変換されます。
この変換では、時間的オブジェクトからLocalDateおよびLocalTimeを抽出して組み合せます。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。
このメソッドは、関数型インタフェースTemporalQueryのシグネチャに一致するため、メソッド参照LocalDateTime::fromを介して問合せとして使用できます。
from、インタフェースChronoLocalDateTime<LocalDate>temporal - 変換する一時オブジェクト、null以外DateTimeException - LocalDateTimeに変換できない場合Chronology.localDateTime(TemporalAccessor)public static LocalDateTime parse(CharSequence text)
2007-12-03T10:15:30などのテキスト文字列からLocalDateTimeのインスタンスを取得します。
この文字列は有効な日付/時間を表している必要があり、DateTimeFormatter.ISO_LOCAL_DATE_TIMEを使って解析されます。
text - 「2007-12-03T10:15:30」などの解析対象のテキスト。null以外DateTimeParseException - テキストが解析できない場合public static LocalDateTime parse(CharSequence text, DateTimeFormatter formatter)
LocalDateTimeのインスタンスを取得します。
そのテキストがフォーマッタを使って解析され、日付/時間が返されます。
text - 解析するテキスト。null以外formatter - 使用するフォーマッタ、null以外DateTimeParseException - テキストが解析できない場合public boolean isSupported(TemporalField field)
これは、指定されたフィールドをこの日付/時間に問い合せることができるかどうかを確認します。 falseの場合、range、get、および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>TemporalAccessorのisSupportedfield - チェックするフィールド、nullはfalseを返す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>TemporalのisSupportedunit - チェックする単位、nullはfalseを返すpublic ValueRange range(TemporalField field)
範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この日付/時間は、返される範囲の精度を高めるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは適切な範囲のインスタンスを返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。
フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。
TemporalAccessorのrangefield - 範囲を問い合わせるフィールド、null以外DateTimeException - フィールドの範囲を取得できない場合UnsupportedTemporalTypeException - フィールドがサポートされていない場合public int get(TemporalField field)
intとして取得します。
これは、指定されたフィールドの値についてこの日付/時間に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoFieldの場合、ここに問合せを実装します。 サポートされているフィールドはこの日付/時間に基づいて有効な値を返します。ただし、NANO_OF_DAY、MICRO_OF_DAY、EPOCH_DAY、およびPROLEPTIC_MONTHは長すぎてintに収まらないので、DateTimeExceptionがスローされます。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。
フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。
TemporalAccessorのgetfield - 取得するフィールド、null以外DateTimeException - フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException - フィールドがサポートされていない場合、または値の範囲がintを超えている場合ArithmeticException - 数値のオーバーフローが発生した場合public long getLong(TemporalField field)
longとして取得します。
これは、指定されたフィールドの値についてこの日付/時間に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは、この日付/時間に基づく有効な値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。
フィールドがChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。
TemporalAccessorのgetLongfield - 取得するフィールド、null以外DateTimeException - フィールドの値を取得できない場合UnsupportedTemporalTypeException - フィールドがサポートされていない場合ArithmeticException - 数値のオーバーフローが発生した場合public LocalDate toLocalDate()
LocalDate部分を取得します。
これは、この日付/時間と同じ年、月、および日を使ってLocalDateを返します。
toLocalDate、インタフェースChronoLocalDateTime<LocalDate>public int getYear()
このメソッドは、年を表すプリミティブなint値を返します。
このメソッドで返される年は、get(YEAR)のように予期的なものです。 紀元年を取得するには、get(YEAR_OF_ERA)を使用します。
public int getMonthValue()
このメソッドは、月を1-12のintとして返します。 getMonth()を呼び出すことで列挙型Monthが使用される場合は、アプリケーション・コードがより明確になることが多くなります。
getMonth()public Month getMonth()
Monthを使用して、月フィールドを取得します。
このメソッドは、月を表す列挙型Monthを返します。 これによって、int値が意味する内容に関する混乱を回避できます。 プリミティブなint値にアクセスする必要がある場合、この列挙型はint値を提供します。
getMonthValue()public int getDayOfMonth()
このメソッドは、「月の日」を表すプリミティブなint値を返します。
public int getDayOfYear()
このメソッドは、「年の日」を表すプリミティブなint値を返します。
public DayOfWeek getDayOfWeek()
DayOfWeekである曜日フィールドを取得します。
このメソッドは、曜日を表す列挙型DayOfWeekを返します。 これによって、int値が意味する内容に関する混乱を回避できます。 プリミティブなint値にアクセスする必要がある場合、この列挙型はint値を提供します。
DayOfWeekからは追加情報を取得できます。 具体的には、それらの値のテキスト名などがあります。
public LocalTime toLocalTime()
LocalTime部分を取得します。
これは、この日付/時間と同じ時、分、秒、およびナノ秒を使ってLocalTimeを返します。
toLocalTime、インタフェースChronoLocalDateTime<LocalDate>public int getHour()
public int getMinute()
public int getSecond()
public int getNano()
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のwithadjuster - 使用するアジャスタ、null以外これに基づくLocalDateTime。null以外DateTimeException - 調整ができない場合ArithmeticException - 数値のオーバーフローが発生した場合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のwithfield - 結果に設定するフィールド、null以外newValue - 結果のフィールドの新しい値これに基づくLocalDateTime。null以外DateTimeException - フィールドを設定できない場合UnsupportedTemporalTypeException - フィールドがサポートされていない場合ArithmeticException - 数値のオーバーフローが発生した場合public LocalDateTime withYear(int year)
LocalDateTimeのコピーを返します。
時間は計算に影響を及ぼさないので、結果でも同じになります。 その「月の日」がその年に対して無効である場合は、その月の最後の有効な日に変更されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
year - 結果に設定される年(MIN_YEARからMAX_YEARまで)LocalDateTime。null以外DateTimeException - 年の値が無効である場合public LocalDateTime withMonth(int month)
LocalDateTimeのコピーを返します。
時間は計算に影響を及ぼさないので、結果でも同じになります。 その「月の日」がその年に対して無効である場合は、その月の最後の有効な日に変更されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
month - 結果に設定される月。1(1月)-12(12月)LocalDateTime。null以外DateTimeException - 月の値が無効である場合public LocalDateTime withDayOfMonth(int dayOfMonth)
LocalDateTimeのコピーを返します。
結果となる日付/時間が無効である場合は、例外がスローされます。 時間は計算に影響を及ぼさないので、結果でも同じになります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
dayOfMonth - 結果に設定される「月の日」。1から28-31までLocalDateTime。null以外DateTimeException - 「月の日」の値が無効である場合、または「月の日」がその月-年に対して無効である場合public LocalDateTime withDayOfYear(int dayOfYear)
LocalDateTimeのコピーを返します。
結果となる日付/時間が無効である場合は、例外がスローされます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
dayOfYear - 結果に設定される「年の日」。1から365-366までLocalDateTime。null以外DateTimeException - 「年の日」の値が無効である場合、または「年の日」がその年に対して無効である場合public LocalDateTime withHour(int hour)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hour - 結果に設定される時(0-23)LocalDateTime。null以外DateTimeException - 時の値が無効である場合public LocalDateTime withMinute(int minute)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minute - 結果に設定される分(0-59)LocalDateTime。null以外DateTimeException - 分の値が無効である場合public LocalDateTime withSecond(int second)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
second - 結果に設定される秒(0-59)LocalDateTime。null以外DateTimeException - 秒の値が無効である場合public LocalDateTime withNano(int nanoOfSecond)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanoOfSecond - 結果に設定されるナノ秒(0-999,999,999)LocalDateTime。null以外DateTimeException - ナノ秒の値が無効である場合public LocalDateTime truncatedTo(TemporalUnit unit)
LocalDateTimeのコピーを返します。
切り詰めでは、指定された単位よりも小さいフィールドをゼロに設定して、元の日付/時間のコピーを返します。 たとえば、分単位で切り詰めると、秒およびナノ秒フィールドはゼロに設定されます。
単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。 これには、ChronoUnitとDAYSで提供されるすべての時間単位が含まれます。 他の単位は例外をスローします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
unit - 切り捨てを行う単位、nullでないLocalDateTime。null以外DateTimeException - 切り捨てられない場合UnsupportedTemporalTypeException - 単位がサポートされていない場合public LocalDateTime plus(TemporalAmount amountToAdd)
これは、指定された量を加算して、この日時に基づくLocalDateTimeを返します。 この量は通常PeriodまたはDurationですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。
計算は、TemporalAmount.addTo(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は加算を任意の方法で自由に実装できますが、通常はplus(long, TemporalUnit)にコールバックします。 正常に加算できるかどうかを判断するには、量実装のドキュメントを参照してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
plus、インタフェースChronoLocalDateTime<LocalDate>TemporalのplusamountToAdd - 加算する量、nullでないLocalDateTime。null以外DateTimeException - 加算できない場合ArithmeticException - 数値のオーバーフローが発生した場合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のplusamountToAdd - 結果に加算する単位の量、負も可unit - 加算する量の単位、nullでないLocalDateTime。null以外DateTimeException - 加算できない場合UnsupportedTemporalTypeException - 単位がサポートされていない場合ArithmeticException - 数値のオーバーフローが発生した場合public LocalDateTime plusYears(long years)
LocalDateTimeのコピーを返します。
このメソッドは、3つのステップで、指定された量を年フィールドに加算します。
たとえば、2008-02-29 (うるう年)に1年を加算すると、2009-02-29(標準の年)という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2009-02-28が選択されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
years - 加算する年数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime plusMonths(long months)
LocalDateTimeのコピーを返します。
このメソッドは、3つのステップで、指定された量を月フィールドに加算します。
たとえば、2007-03-31に1月を加算すると、2007-04-31という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2007-04-30が選択されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
months - 加算する月数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime plusWeeks(long weeks)
LocalDateTimeのコピーを返します。
このメソッドは、指定された週単位の量を日フィールドに加算し、結果が有効のままであるように、必要に応じて月および年フィールドを増分します。 この結果が無効になるのは、最大/最小の年を超える場合のみです。
たとえば、2008-12-31に1週間を加算すると、2009-01-07という結果になります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
weeks - 加算する週数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime plusDays(long days)
LocalDateTimeのコピーを返します。
このメソッドは、指定された量を日フィールドに加算し、結果が有効のままであるように、必要に応じて月および年フィールドを増分します。 この結果が無効になるのは、最大/最小の年を超える場合のみです。
たとえば、2008-12-31に1日を加算すると、2009-01-01という結果になります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
days - 加算する日数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime plusHours(long hours)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hours - 加算する時間数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime plusMinutes(long minutes)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minutes - 加算する分数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime plusSeconds(long seconds)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
seconds - 加算する秒数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime plusNanos(long nanos)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanos - 加算するナノ秒数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minus(TemporalAmount amountToSubtract)
これは、指定された量を減算して、この日時に基づくLocalDateTimeを返します。 この量は通常PeriodまたはDurationですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。
計算は、TemporalAmount.subtractFrom(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は減算を任意の方法で自由に実装できますが、通常はminus(long, TemporalUnit)にコールバックします。 正常に減算できるかどうかを判断するには、量実装のドキュメントを参照してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minus、インタフェースChronoLocalDateTime<LocalDate>TemporalのminusamountToSubtract - 減算する量、nullでないLocalDateTime。null以外DateTimeException - 減算ができない場合ArithmeticException - 数値のオーバーフローが発生した場合public LocalDateTime minus(long amountToSubtract, TemporalUnit unit)
これは、その単位での量を減算して、この日時に基づくLocalDateTimeを返します。 量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。
このメソッドは、量を符号反転したplus(long, TemporalUnit)と同等です。 加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minus、インタフェースChronoLocalDateTime<LocalDate>TemporalのminusamountToSubtract - 結果から減算する単位の量、負も可unit - 減算する量の単位、nullでないLocalDateTime。null以外DateTimeException - 減算ができない場合UnsupportedTemporalTypeException - 単位がサポートされていない場合ArithmeticException - 数値のオーバーフローが発生した場合public LocalDateTime minusYears(long years)
LocalDateTimeのコピーを返します。
このメソッドは、3つのステップで、指定された量を年フィールドから減算します。
たとえば、2008-02-29 (うるう年)から1年を減算すると、2009-02-29(標準の年)という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2009-02-28が選択されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
years - 減算する年数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minusMonths(long months)
LocalDateTimeのコピーを返します。
このメソッドは、3つのステップで、指定された量を月フィールドから減算します。
たとえば、2007-03-31から1月を減算すると、2007-04-31という無効な日付が生じます。 無効な結果を返す代わりに、その月の最後の有効な日である2007-04-30が選択されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
months - 減算する月数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minusWeeks(long weeks)
LocalDateTimeのコピーを返します。
このメソッドは、指定された週単位の量を日フィールドから減算し、結果が有効のままであるように、必要に応じて月および年フィールドを減らします。 この結果が無効になるのは、最大/最小の年を超える場合のみです。
たとえば、2009-01-07から1週間を減算すると、2008-12-31という結果になります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
weeks - 減算する週数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minusDays(long days)
LocalDateTimeのコピーを返します。
このメソッドは、指定された量を日フィールドから減算し、結果が有効のままであるように、必要に応じて月および年フィールドを減らします。 この結果が無効になるのは、最大/最小の年を超える場合のみです。
たとえば、2009-01-01から1日を減算すると、2008-12-31という結果になります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
days - 減算する日数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minusHours(long hours)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hours - 減算する時間数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minusMinutes(long minutes)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minutes - 減算する分数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minusSeconds(long seconds)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
seconds - 減算する秒数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public LocalDateTime minusNanos(long nanos)
LocalDateTimeのコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanos - 減算するナノ秒数。負の値の場合もあるLocalDateTime。null以外DateTimeException - 結果がサポートされている日付範囲を超える場合public <R> R query(TemporalQuery<R> query)
これは指定された問合せ方法オブジェクトを使用してこの日付/時間を問い合わせます。 TemporalQueryオブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。
このメソッドの結果は、thisを引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)メソッドを呼び出すことによって取得します。
query、インタフェースChronoLocalDateTime<LocalDate>TemporalAccessorのqueryR - 結果の型query - 呼び出す問合せ、null以外DateTimeException - 問い合わせできない場合(問合せによって定義される)ArithmeticException - 数値のオーバーフローが発生した場合(問合せによって定義される)public Temporal adjustInto(Temporal temporal)
これは、日時をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
調整は、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のadjustIntotemporal - 調整するターゲット・オブジェクト、null以外DateTimeException - 調整を実行できない場合ArithmeticException - 数値のオーバーフローが発生した場合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のuntilendExclusive - LocalDateTimeに変換される終了日(これを含まない)。null以外unit - 量を測定する単位、null以外DateTimeException - その量を計算できないか、終了時間をLocalDateTimeに変換できない場合UnsupportedTemporalTypeException - 単位がサポートされていない場合ArithmeticException - 数値のオーバーフローが発生した場合public String format(DateTimeFormatter formatter)
この日付/時間はフォーマッタに渡され、文字列が生成されます。
format、インタフェースChronoLocalDateTime<LocalDate>formatter - 使用するフォーマッタ、null以外DateTimeException - 出力時にエラーが発生した場合public OffsetDateTime atOffset(ZoneOffset offset)
OffsetDateTimeを作成します。
これは、指定されたオフセットでこの日付/時間から形成されたOffsetDateTimeを返します。 日付/時間とオフセットの考えられるすべての組み合せが有効です。
offset - 組み合わせるオフセット、nullでない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以外public int compareTo(ChronoLocalDateTime<?> other)
この比較は主として日付/時間(もっとも早いものからもっとも遅いものまで)に基づいています。 Comparableに定義されているとおりに、「equalsと一致」しています。
比較対象のすべての日付/時間がLocalDateTimeのインスタンスである場合、比較は完全にその日付/時間に基づいて行われます。 比較対象の日付の中に異なる暦のものが含まれている場合、その暦も考慮されます(ChronoLocalDateTime.compareTo(java.time.chrono.ChronoLocalDateTime<?>)を参照)。
compareTo in interface Comparable<ChronoLocalDateTime<?>>compareTo、インタフェースChronoLocalDateTime<LocalDate>other - 他の比較する日付/時間、null以外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以外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以外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以外public boolean equals(Object obj)
このLocalDateTimeをもう一方と比較して、その日付/時間が同じであることを確認します。 LocalDateTime型のオブジェクトのみが比較され、それ以外の型はfalseを返します。
equals、インタフェースChronoLocalDateTime<LocalDate>equals、クラスObjectobj - チェックするオブジェクト、nullはfalseを返すObject.hashCode()、HashMappublic int hashCode()
hashCode、インタフェースChronoLocalDateTime<LocalDate>hashCode、クラスObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)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.SSSSSSSSStoString、インタフェースChronoLocalDateTime<LocalDate>toString、クラスObject バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。