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, toInstant
public 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
のisSupported
field
- チェックするフィールド、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
のisSupported
unit
- チェックする単位、nullはfalseを返すpublic ValueRange range(TemporalField field)
範囲オブジェクトはフィールドの有効な最小値と最大値を表します。この日付/時間は、返される範囲の精度を高めるために使用されます。範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoField
の場合、ここに問合せを実装します。サポートされるフィールド
は適切な範囲のインスタンスを返します。他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.rangeRefinedBy(TemporalAccessor)
を呼び出すことにより取得されます。範囲を取得できるかどうかはフィールドによって決まります。
TemporalAccessor
のrange
field
- 範囲を問い合わせるフィールド、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
のget
field
- 取得するフィールド、null以外DateTimeException
- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合、または値の範囲がint
を超えている場合ArithmeticException
- 数値のオーバーフローが発生した場合public long getLong(TemporalField field)
long
として取得します。
これは、指定されたフィールドの値をこの日付/時間に問い合せます。値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドがChronoField
の場合、ここに問合せを実装します。サポートされるフィールド
は、この日付/時間に基づく有効な値を返します。他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、引数としてthis
を渡してTemporalField.getFrom(TemporalAccessor)
を呼び出すことにより取得されます。値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。
TemporalAccessor
のgetLong
field
- 取得するフィールド、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つのフィールドだけを設定するなどです。複雑なアジャスタは、日付を月の最後の日に設定するなどです。一般的な調整の選択は、TemporalAdjuster
で指定します。これらには、「月の最後の日」や「次の水曜日」を見つけることが含まれます。主要な日付/時間クラス(Month
やMonthDay
など)も、TemporalAdjuster
インタフェースを実装します。アジャスタは、さまざまな長さの月やうるう年などの特別なケースの処理を担当します。
たとえば、このコードでは7月の最後の日の日付を返します。
import static java.time.Month.*; import static java.time.temporal.Adjusters.*; 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
- 数値のオーバーフローが発生した場合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
- 数値のオーバーフローが発生した場合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
のコピーを返します。結果となるLocalDateTime
が無効である場合は、例外がスローされます。時間は計算に影響を及ぼさないので、結果でも同じになります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
dayOfMonth
- 結果に設定される「月の日」。1から28-31までLocalDateTime
。null以外DateTimeException
- 「月の日」の値が無効である場合、または「月の日」がその月-年に対して無効である場合public LocalDateTime withDayOfYear(int dayOfYear)
LocalDateTime
のコピーを返します。結果となる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
のplus
amountToAdd
- 加算する量、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
のplus
amountToAdd
- 結果に加算する単位の量、負も可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
のminus
amountToSubtract
- 減算する量、nullでないLocalDateTime
。null以外DateTimeException
- 減算ができない場合ArithmeticException
- 数値のオーバーフローが発生した場合public LocalDateTime minus(long amountToSubtract, TemporalUnit unit)
これは、その単位での量を減算して、この日時に基づくLocalDateTime
を返します。量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。
このメソッドは、量を符号反転したplus(long, TemporalUnit)
と同等です。加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minus
、インタフェース: ChronoLocalDateTime<LocalDate>
Temporal
のminus
amountToSubtract
- 結果から減算する単位の量、負も可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
のquery
R
- 結果の型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
のadjustInto
temporal
- 調整するターゲット・オブジェクト、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
のuntil
endExclusive
- 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
、クラス: Object
obj
- チェックするオブジェクト、nullはfalseを返すObject.hashCode()
、HashMap
public int hashCode()
hashCode
、インタフェース: ChronoLocalDateTime<LocalDate>
hashCode
、クラス: Object
Object.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: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
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.