public final class LocalTime extends Object implements Temporal, TemporalAdjuster, Comparable<LocalTime>, Serializable
10:15:30
など)。
LocalTime
は、時間(時-分-秒として表示されることが多い)を表す不変の日付/時間オブジェクトです。時間は、ナノ秒の精度まで表されます。たとえば、「13:45.30.123456789」という値をLocalTime
に格納できます。
それは、日付またはタイムゾーンを格納したり表現したりしません。むしろこれは、壁掛け時計に見られるようなローカル時間に関する記述です。オフセットやタイムゾーンなどの追加情報がなければ、時系列上にインスタントを表現することはできません。
ISO-8601暦体系は、世界中の大部分で現在使われている近代の常用暦体系です。このAPIは、時刻に対して、すべての暦体系が同じ表現(このクラス)を使用することを想定しています。
これは値ベースのクラスです。LocalTime
のインスタンスに対して、アイデンティティの影響を受けやすい操作(参照型等価演算子(==
)、アイデンティティ・ハッシュ・コード、同期化など)を使用すると、予測できない結果が生じることがあるため、使わないようにしてください。比較する場合は、equals
メソッドを使用することをお薦めします。
修飾子と型 | フィールドと説明 |
---|---|
static LocalTime |
MAX
サポートされている最大の
LocalTime である「23:59:59.999999999」。 |
static LocalTime |
MIDNIGHT
その日の開始時の深夜零時の時間である「00:00」。
|
static LocalTime |
MIN
サポートされている最小の
LocalTime である「00:00」。 |
static LocalTime |
NOON
その日の午後零時の時間である「12:00」。
|
修飾子と型 | メソッドと説明 |
---|---|
Temporal |
adjustInto(Temporal temporal)
指定された時間的オブジェクトを、このオブジェクトと同じ時間を持つように調整します。
|
LocalDateTime |
atDate(LocalDate date)
この時間を日付と組み合せて
LocalDateTime を作成します。 |
OffsetTime |
atOffset(ZoneOffset offset)
この時間をオフセットと組み合せて
OffsetTime を作成します。 |
int |
compareTo(LocalTime other)
この
LocalTime をもう一方の時間と比較します。 |
boolean |
equals(Object obj)
この時間がもう一方の時間と等しいかどうかを確認します。
|
String |
format(DateTimeFormatter formatter)
指定されたフォーマッタを使用してこの時間を書式設定します。
|
static LocalTime |
from(TemporalAccessor temporal)
時間的オブジェクトから
LocalTime のインスタンスを取得します。 |
int |
get(TemporalField field)
指定されたフィールドの値をこの時間から
int として取得します。 |
int |
getHour()
時フィールドを取得します。
|
long |
getLong(TemporalField field)
指定されたフィールドの値をこの時間から
long として取得します。 |
int |
getMinute()
分フィールドを取得します。
|
int |
getNano()
ナノ秒フィールドを取得します。
|
int |
getSecond()
秒フィールドを取得します。
|
int |
hashCode()
この時間のハッシュ・コード。
|
boolean |
isAfter(LocalTime other)
この
LocalTime が指定された時間より後にあるかどうかを確認します。 |
boolean |
isBefore(LocalTime other)
この
LocalTime が指定された時間より前にあるかどうかを確認します。 |
boolean |
isSupported(TemporalField field)
指定されたフィールドがサポートされているかどうかをチェックします。
|
boolean |
isSupported(TemporalUnit unit)
指定された単位がサポートされているかどうかをチェックします。
|
LocalTime |
minus(long amountToSubtract, TemporalUnit unit)
指定された量を減算して、この時間のコピーを返します。
|
LocalTime |
minus(TemporalAmount amountToSubtract)
指定された量を減算して、この時間のコピーを返します。
|
LocalTime |
minusHours(long hoursToSubtract)
指定された期間(時間数)を減算して、この
LocalTime のコピーを返します。 |
LocalTime |
minusMinutes(long minutesToSubtract)
指定された期間(分数)を減算して、この
LocalTime のコピーを返します。 |
LocalTime |
minusNanos(long nanosToSubtract)
指定された期間(ナノ秒数)を減算して、この
LocalTime のコピーを返します。 |
LocalTime |
minusSeconds(long secondsToSubtract)
指定された期間(秒数)を減算して、この
LocalTime のコピーを返します。 |
static LocalTime |
now()
デフォルトのタイムゾーンのシステム・クロックから現在の時間を取得します。
|
static LocalTime |
now(Clock clock)
指定されたクロックから現在の時間を取得します。
|
static LocalTime |
now(ZoneId zone)
指定されたタイムゾーンのシステム・クロックから現在の時間を取得します。
|
static LocalTime |
of(int hour, int minute)
時と分から
LocalTime のインスタンスを取得します。 |
static LocalTime |
of(int hour, int minute, int second)
時、分、および秒から
LocalTime のインスタンスを取得します。 |
static LocalTime |
of(int hour, int minute, int second, int nanoOfSecond)
時、分、秒、およびナノ秒から
LocalTime のインスタンスを取得します。 |
static LocalTime |
ofNanoOfDay(long nanoOfDay)
「1日のうちのナノ秒」の値から
LocalTime のインスタンスを取得します。 |
static LocalTime |
ofSecondOfDay(long secondOfDay)
「1日のうちの秒」の値から
LocalTime のインスタンスを取得します。 |
static LocalTime |
parse(CharSequence text)
10:15 などのテキスト文字列からLocalTime のインスタンスを取得します。 |
static LocalTime |
parse(CharSequence text, DateTimeFormatter formatter)
特定のフォーマッタを使用して、テキスト文字列から
LocalTime のインスタンスを取得します。 |
LocalTime |
plus(long amountToAdd, TemporalUnit unit)
この時刻のコピーに指定された時間を追加したものを返します。
|
LocalTime |
plus(TemporalAmount amountToAdd)
この時刻のコピーに指定された時間を追加したものを返します。
|
LocalTime |
plusHours(long hoursToAdd)
この
LocalTime のコピーに時間数で指定された期間を追加したものを返します。 |
LocalTime |
plusMinutes(long minutesToAdd)
この
LocalTime のコピーに分数で指定された期間を追加したものを返します。 |
LocalTime |
plusNanos(long nanosToAdd)
この
LocalTime のコピーにナノ秒数で指定された期間を追加したものを返します。 |
LocalTime |
plusSeconds(long secondstoAdd)
この
LocalTime のコピーに秒数で指定された期間を追加したものを返します。 |
<R> R |
query(TemporalQuery<R> query)
指定された問合せを使用してこの時間を問い合せます。
|
ValueRange |
range(TemporalField field)
指定されたフィールドの有効な値の範囲を取得します。
|
long |
toNanoOfDay()
時間を1日のナノ秒(
0 から24 * 60 * 60 * 1,000,000,000 - 1 )として抽出します。 |
int |
toSecondOfDay()
時間を1日のうちの秒数(
0 から24 * 60 * 60 - 1 )として抽出します。 |
String |
toString()
この時間を
String として出力します(10:15 など)。 |
LocalTime |
truncatedTo(TemporalUnit unit)
時間が切り捨てられた、この
LocalTime のコピーを返します。 |
long |
until(Temporal endExclusive, TemporalUnit unit)
もう一方の時間までの時間量を指定された単位で計算します。
|
LocalTime |
with(TemporalAdjuster adjuster)
この時間の調整済のコピーを返します。
|
LocalTime |
with(TemporalField field, long newValue)
指定されたフィールドを新しい値に設定して、この時間のコピーを返します。
|
LocalTime |
withHour(int hour)
時の値を変更して、この
LocalTime のコピーを返します。 |
LocalTime |
withMinute(int minute)
分の値を変更して、この
LocalTime のコピーを返します。 |
LocalTime |
withNano(int nanoOfSecond)
ナノ秒の値を変更して、この
LocalTime のコピーを返します。 |
LocalTime |
withSecond(int second)
秒の値を変更して、この
LocalTime のコピーを返します。 |
public static final LocalTime MIN
LocalTime
である「00:00」。これは、その日の開始時の深夜零時の時間です。public static final LocalTime MAX
LocalTime
である「23:59:59.999999999」。これは、その日の終わりの深夜零時直前の時間です。public static final LocalTime MIDNIGHT
public static final LocalTime NOON
public static LocalTime now()
これは、デフォルトのタイムゾーンのシステム・クロック
を問い合せて、現在の時間を取得します。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
public static LocalTime now(ZoneId zone)
これは、システム・クロック
を問い合せて現在の時間を取得します。タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。
このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
zone
- 使用するゾーンID、null以外public static LocalTime now(Clock clock)
これは、指定されたクロックを照会して現在の時間を取得します。このメソッドを使用すると、テストに代替のクロックを使用できます。代替のクロックはdependency injection
を使用して導入できます。
clock
- 使用するクロック、null以外public static LocalTime of(int hour, int minute)
LocalTime
のインスタンスを取得します。
これは、指定された時と分を使ってLocalTime
を返します。秒およびナノ秒のフィールドはゼロに設定されます。
hour
- 表される時(0-23)minute
- 表される分(0-59)DateTimeException
- いずれかのフィールドの値が範囲外にある場合public static LocalTime of(int hour, int minute, int second)
LocalTime
のインスタンスを取得します。
これは、指定された時、分、および秒を使ってLocalTime
を返します。ナノ秒フィールドはゼロに設定されます。
hour
- 表される時(0-23)minute
- 表される分(0-59)second
- 表される秒(0-59)DateTimeException
- いずれかのフィールドの値が範囲外にある場合public static LocalTime of(int hour, int minute, int second, int nanoOfSecond)
LocalTime
のインスタンスを取得します。
これは、指定された時、分、秒、およびナノ秒を使ってLocalTime
を返します。
hour
- 表される時(0-23)minute
- 表される分(0-59)second
- 表される秒(0-59)nanoOfSecond
- 表現する「1秒のうちのナノ秒」、0から999,999,999DateTimeException
- いずれかのフィールドの値が範囲外にある場合public static LocalTime ofSecondOfDay(long secondOfDay)
LocalTime
のインスタンスを取得します。
これは、指定された「1日のうちの秒」を使ってLocalTime
を返します。ナノ秒フィールドはゼロに設定されます。
secondOfDay
- 「1日のうちの秒」(0
-24 * 60 * 60 - 1
)DateTimeException
- 「1日のうちの秒」の値が無効である場合public static LocalTime ofNanoOfDay(long nanoOfDay)
LocalTime
のインスタンスを取得します。
これは、指定された「1日のうちのナノ秒」を使ってLocalTime
を返します。
nanoOfDay
- 1日のうちのナノ秒(0
-24 * 60 * 60 * 1,000,000,000 - 1
)DateTimeException
- 「1日のうちのナノ秒」の値が無効である場合public static LocalTime from(TemporalAccessor temporal)
LocalTime
のインスタンスを取得します。
これは、指定された時間に基づいてローカル時間を取得します。TemporalAccessor
は任意の日付と時間のセットに関する情報を表し、それがこのファクトリでLocalTime
のインスタンスに変換されます。
この変換では、NANO_OF_DAY
フィールドを抽出することに依存しているTemporalQueries.localTime()
問合せを使用します。
このメソッドは、関数型インタフェースTemporalQuery
のシグネチャに一致するため、メソッド参照LocalTime::from
を介して問合せで使用できます。
temporal
- 変換する一時オブジェクト、null以外DateTimeException
- LocalTime
に変換できない場合public static LocalTime parse(CharSequence text)
10:15
などのテキスト文字列からLocalTime
のインスタンスを取得します。
この文字列は有効な時間を表している必要があり、DateTimeFormatter.ISO_LOCAL_TIME
を使って解析されます。
text
- 「10:15:30」などの解析対象のテキスト。null以外DateTimeParseException
- テキストが解析できない場合public static LocalTime parse(CharSequence text, DateTimeFormatter formatter)
LocalTime
のインスタンスを取得します。
そのテキストがフォーマッタを使って解析され、時間が返されます。
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
ChronoField
インスタンスはfalseを返します。
フィールドがChronoField
でない場合、このメソッドの結果は、this
を引数として渡してTemporalField.isSupportedBy(TemporalAccessor)
を呼び出すことによって取得します。フィールドがサポートされているかどうかはフィールドによって決定します。
TemporalAccessor
のisSupported
field
- チェックするフィールド、nullはfalseを返すpublic boolean isSupported(TemporalUnit unit)
これは、指定された単位をこの日付/時間に対して加算または減算できるかどうかをチェックします。falseの場合、plus(long, TemporalUnit)
およびminus
メソッドの呼び出しは、例外をスローします。
単位がChronoUnit
の場合、問合せはここで実装されます。サポートされる単位は次のとおりです。
NANOS
MICROS
MILLIS
SECONDS
MINUTES
HOURS
HALF_DAYS
ChronoUnit
インスタンスはfalseを返します。
単位がChronoUnit
でない場合、このメソッドの結果は、this
を引数として渡してTemporalUnit.isSupportedBy(Temporal)
を呼び出すことによって取得します。単位がサポートされているかどうかは単位によって決定します。
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
は長すぎて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 int getHour()
public int getMinute()
public int getSecond()
public int getNano()
public LocalTime with(TemporalAdjuster adjuster)
これは、時間を調整して、この時間に基づくLocalTime
を返します。調整は、指定されたアジャスタ戦略オブジェクトを使用して行われます。どのような調整が行われるかを理解するには、アジャスタのドキュメントを参照してください。
単純なアジャスタは、時フィールドなど、いずれか1つのフィールドを設定できるだけです。より複雑なアジャスタは、時間をその日の最後の時に設定できます。
このメソッドの結果は、指定されたアジャスタでthis
を引数として渡してTemporalAdjuster.adjustInto(Temporal)
メソッドを呼び出すことによって取得されます。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Temporal
のwith
adjuster
- 使用するアジャスタ、null以外これ
に基づくLocalTime
。null以外DateTimeException
- 調整ができない場合ArithmeticException
- 数値のオーバーフローが発生した場合public LocalTime with(TemporalField field, long newValue)
これは、指定されたフィールドの値を変更して、この時間に基づくLocalTime
を返します。これを使用すると、時、分、秒などのサポートされているフィールドを変更できます。値を設定できない場合は、フィールドがサポートされていないか他の理由のために、例外がスローされます。
フィールドがChronoField
の場合は、調整はここで実装されます。サポートされるフィールドは次のように動作します。
NANO_OF_SECOND
- 指定された「1秒のうちのナノ秒」を使ってLocalTime
を返します。時、分、および秒は変更されません。
NANO_OF_DAY
- 指定された「1日のうちのナノ秒」を使ってLocalTime
を返します。これは、時間を完全に置き換えるもので、ofNanoOfDay(long)
と同等です。
MICRO_OF_SECOND
- 「1秒のうちのナノ秒」を、指定された「1秒のうちのマイクロ秒」に1,000を掛けた値に置き換えてLocalTime
を返します。時、分、および秒は変更されません。
MICRO_OF_DAY
- 指定された「1日のうちのマイクロ秒」を使ってLocalTime
を返します。これは、時間を完全に置き換えるもので、「1日のうちのマイクロ秒」に1,000を掛けた値でofNanoOfDay(long)
を使用することと同等です。
MILLI_OF_SECOND
- 「1秒のうちのナノ秒」を、指定された「1秒のうちのミリ秒」に1,000,000を掛けた値に置き換えてLocalTime
を返します。時、分、および秒は変更されません。
MILLI_OF_DAY
- 指定された「1日のうちのミリ秒」を使ってLocalTime
を返します。これは、時間を完全に置き換えるもので、「1日のうちのミリ秒」に1,000,000を掛けた値でofNanoOfDay(long)
を使用することと同等です。
SECOND_OF_MINUTE
- 指定された「1分のうちの秒」を使ってLocalTime
を返します。時、分、および「1秒のうちのナノ秒」は変更されません。
SECOND_OF_DAY
- 指定された「1日のうちの秒」を使ってLocalTime
を返します。「1秒のうちのナノ秒」は変更されません。
MINUTE_OF_HOUR
- 指定された「1時間のうちの分」を使ってLocalTime
を返します。時、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
MINUTE_OF_DAY
- 指定された「1日のうちの分」を使ってLocalTime
を返します。「1分のうちの秒」および「1秒のうちのナノ秒」は変更されません。
HOUR_OF_AMPM
- 指定された「午前または午後の時」を使ってLocalTime
を返します。午前/午後、「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
CLOCK_HOUR_OF_AMPM
- 指定された「午前または午後のクロック時間」を使ってLocalTime
を返します。午前/午後、「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
HOUR_OF_DAY
- 指定された「1日のうちの時」を使ってLocalTime
を返します。「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
CLOCK_HOUR_OF_DAY
- 指定された「1日のうちのクロック時間」を使ってLocalTime
を返します。「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
AMPM_OF_DAY
- 指定された午前/午後を使ってLocalTime
を返します。「午前または午後の時」、「1時間のうちの分」、「1分のうちの秒」、および「1秒のうちのナノ秒」は変更されません。
いずれの場合も、新しい値がフィールドの値の有効範囲外にあるとDateTimeException
がスローされます。
他のすべてのChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoField
ではない場合、このメソッドの結果は、this
を引数として渡してTemporalField.adjustInto(Temporal, long)
を呼び出すことによって取得されます。この場合、インスタントを調整するかどうかおよびどのように調整するかはフィールドによって決まります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Temporal
のwith
field
- 結果に設定するフィールド、null以外newValue
- 結果のフィールドの新しい値これ
に基づくLocalTime
。null以外DateTimeException
- フィールドを設定できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合public LocalTime withHour(int hour)
LocalTime
のコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hour
- 結果に設定される時(0-23)LocalTime
。null以外DateTimeException
- 時の値が無効である場合public LocalTime withMinute(int minute)
LocalTime
のコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minute
- 結果に設定される分(0-59)LocalTime
。null以外DateTimeException
- 分の値が無効である場合public LocalTime withSecond(int second)
LocalTime
のコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
second
- 結果に設定される秒(0-59)LocalTime
。null以外DateTimeException
- 秒の値が無効である場合public LocalTime withNano(int nanoOfSecond)
LocalTime
のコピーを返します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanoOfSecond
- 結果に設定されるナノ秒(0-999,999,999)LocalTime
。null以外DateTimeException
- ナノ秒の値が無効である場合public LocalTime truncatedTo(TemporalUnit unit)
LocalTime
のコピーを返します。
時間の切り詰めでは、指定された単位よりも小さいフィールドをゼロに設定して、元の時間のコピーを返します。たとえば、分
単位で切り詰めると、秒およびナノ秒フィールドはゼロに設定されます。
単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。これには、ChronoUnit
とDAYS
で提供されるすべての時間単位が含まれます。他の単位は例外をスローします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
unit
- 切り捨てを行う単位、nullでないLocalTime
。null以外DateTimeException
- 切り捨てられない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合public LocalTime plus(TemporalAmount amountToAdd)
これは、指定された量を加算して、この時間に基づくLocalTime
を返します。この量は通常Duration
ですが、TemporalAmount
インタフェースを実装する他のどの型であってもかまいません。
計算は、TemporalAmount.addTo(Temporal)
を呼び出すことによって量オブジェクトに委譲されます。量実装は加算を任意の方法で自由に実装できますが、通常はplus(long, TemporalUnit)
にコールバックします。正常に加算できるかどうかを判断するには、量実装のドキュメントを参照してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Temporal
のplus
amountToAdd
- 加算する量、nullでないLocalTime
。null以外DateTimeException
- 加算できない場合ArithmeticException
- 数値のオーバーフローが発生した場合public LocalTime plus(long amountToAdd, TemporalUnit unit)
これは、その単位での量を加算して、この時間に基づくLocalTime
を返します。量を加算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。
フィールドがChronoUnit
の場合は、加算はここで実装されます。サポートされるフィールドは次のように動作します。
NANOS
- 指定されたナノ秒数を加算してLocalTime
を返します。これはplusNanos(long)
と同等です。
MICROS
- 指定されたマイクロ秒数を加算してLocalTime
を返します。これは、量が1,000倍されたplusNanos(long)
と同等です。
MILLIS
- 指定されたミリ秒数を加算してLocalTime
を返します。これは、量が1,000,000倍されたplusNanos(long)
と同等です。
SECONDS
- 指定された秒数を加算してLocalTime
を返します。これはplusSeconds(long)
と同等です。
MINUTES
- 指定された分数を加算してLocalTime
を返します。これはplusMinutes(long)
と同等です。
HOURS
- 指定された時間数を加算してLocalTime
を返します。これはplusHours(long)
と同等です。
HALF_DAYS
- 指定された半日数を加算してLocalTime
を返します。これは、量を12倍にした値によるplusHours(long)
と同等です。
他のすべてのChronoUnit
インスタンスはUnsupportedTemporalTypeException
をスローします。
フィールドがChronoUnit
でない場合、このメソッドの結果は、this
を引数として渡してTemporalUnit.addTo(Temporal, long)
を呼び出すことによって取得されます。この場合、加算を実行するかどうかおよびどのように実行するかは単位によって決まります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Temporal
のplus
amountToAdd
- 結果に加算する単位の量、負も可unit
- 加算する量の単位、nullでないLocalTime
。null以外DateTimeException
- 加算できない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合public LocalTime plusHours(long hoursToAdd)
LocalTime
のコピーに時間数で指定された期間を追加したものを返します。
これは、指定された時間数をこの時間に加算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hoursToAdd
- 加算する時間数。負の値の場合もあるLocalTime
。null以外public LocalTime plusMinutes(long minutesToAdd)
LocalTime
のコピーに分数で指定された期間を追加したものを返します。
これは、指定された分数をこの時間に加算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minutesToAdd
- 加算する分数。負の値の場合もあるLocalTime
。null以外public LocalTime plusSeconds(long secondstoAdd)
LocalTime
のコピーに秒数で指定された期間を追加したものを返します。
これは、指定された秒数をこの時間に加算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
secondstoAdd
- 加算する秒数。負の値の場合もあるLocalTime
。null以外public LocalTime plusNanos(long nanosToAdd)
LocalTime
のコピーにナノ秒数で指定された期間を追加したものを返します。
これは、指定されたナノ秒数をこの時間に加算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanosToAdd
- 加算するナノ秒数。負の値の場合もあるLocalTime
。null以外public LocalTime minus(TemporalAmount amountToSubtract)
これは、指定された量を減算して、この時間に基づくLocalTime
を返します。この量は通常Duration
ですが、TemporalAmount
インタフェースを実装する他のどの型であってもかまいません。
計算は、TemporalAmount.subtractFrom(Temporal)
を呼び出すことによって量オブジェクトに委譲されます。量実装は減算を任意の方法で自由に実装できますが、通常はminus(long, TemporalUnit)
にコールバックします。正常に減算できるかどうかを判断するには、量実装のドキュメントを参照してしてください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Temporal
のminus
amountToSubtract
- 減算する量、nullでないLocalTime
。null以外DateTimeException
- 減算ができない場合ArithmeticException
- 数値のオーバーフローが発生した場合public LocalTime minus(long amountToSubtract, TemporalUnit unit)
これは、その単位での量を減算して、この時間に基づくLocalTime
を返します。量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。
このメソッドは、量を符号反転したplus(long, TemporalUnit)
と同等です。加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Temporal
のminus
amountToSubtract
- 結果から減算する単位の量、負も可unit
- 減算する量の単位、nullでないLocalTime
。null以外DateTimeException
- 減算ができない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合public LocalTime minusHours(long hoursToSubtract)
LocalTime
のコピーを返します。
これは、指定された時間数をこの時間から減算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
hoursToSubtract
- 減算する時間数。負の値の場合もあるLocalTime
。null以外public LocalTime minusMinutes(long minutesToSubtract)
LocalTime
のコピーを返します。
これは、指定された分数をこの時間から減算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
minutesToSubtract
- 減算する分数。負の値の場合もあるLocalTime
。null以外public LocalTime minusSeconds(long secondsToSubtract)
LocalTime
のコピーを返します。
これは、指定された秒数をこの時間から減算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
secondsToSubtract
- 減算する秒数。負の値の場合もあるLocalTime
。null以外public LocalTime minusNanos(long nanosToSubtract)
LocalTime
のコピーを返します。
これは、指定されたナノ秒数をこの時間から減算して、新しい時間を返します。この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
nanosToSubtract
- 減算するナノ秒数。負の値の場合もあるLocalTime
。null以外public <R> R query(TemporalQuery<R> query)
これは、指定された問合せ方針オブジェクトを使用してこの時間を問い合せます。TemporalQuery
オブジェクトは結果を取得するために使用するロジックを定義します。このメソッドの結果を理解するには、問合せのドキュメントをお読みください。
このメソッドの結果は、this
を引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)
メソッドを呼び出すことによって取得します。
TemporalAccessor
のquery
R
- 結果の型query
- 呼び出す問合せ、null以外DateTimeException
- 問い合わせできない場合(問合せによって定義される)ArithmeticException
- 数値のオーバーフローが発生した場合(問合せによって定義される)public Temporal adjustInto(Temporal temporal)
これは、時間をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
この調整は、ChronoField.NANO_OF_DAY
をフィールドとして渡してTemporal.with(TemporalField, long)
を使用することと同等です。
ほとんどのケースで、Temporal.with(TemporalAdjuster)
を使用して、呼び出しパターンを逆にすると明確になります。
// these two lines are equivalent, but the second approach is recommended temporal = thisLocalTime.adjustInto(temporal); temporal = temporal.with(thisLocalTime);
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
TemporalAdjuster
のadjustInto
temporal
- 調整するターゲット・オブジェクト、null以外DateTimeException
- 調整を実行できない場合ArithmeticException
- 数値のオーバーフローが発生した場合public long until(Temporal endExclusive, TemporalUnit unit)
これは、1つのTemporalUnit
を単位として、2つのLocalTime
オブジェクト間の時間量を計算します。始点と終点は、これ
と指定された時間です。終了が開始より前である場合、結果は負になります。このメソッドに渡されたTemporal
は、from(TemporalAccessor)
を使用してLocalTime
に変換されます。たとえば、2つの時間の間の時間数は、startTime.until(endTime, HOURS)
を使用して計算できます。
この計算では、2つの時間の間の完全な単位の数を表す整数を返します。たとえば、11:30と13:29の間の時間単位の量は、2時間には1分足りないため、1時間のみとなります。
このメソッドを使用する等価な方法が2つあります。1つ目はこのメソッドを呼び出すことです。2つ目はTemporalUnit.between(Temporal, Temporal)
を使用することです。
// these two lines are equivalent amount = start.until(end, MINUTES); amount = MINUTES.between(start, end);この選択は、コードが読みやすくなるのはどちらかに基づいて行ってください。
計算はChronoUnit
のこのメソッドに実装します。サポートされている単位は、NANOS
、MICROS
、MILLIS
、SECONDS
、MINUTES
、HOURS
、およびHALF_DAYS
です。その他のChronoUnit
値は例外をスローします。
単位がChronoUnit
でない場合、このメソッドの結果は、this
を1つ目の引数として、変換される入力temporal (一時)を2つ目の引数として渡してTemporalUnit.between(Temporal, Temporal)
を呼び出すことによって取得します。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
Temporal
のuntil
endExclusive
- LocalTime
に変換される終了時間(これを含まない)。null以外unit
- 量を測定する単位、null以外DateTimeException
- その量を計算できないか、終了時間をLocalTime
に変換できない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合public String format(DateTimeFormatter formatter)
この時間がフォーマッタに渡されて、文字列が生成されます。
formatter
- 使用するフォーマッタ、null以外DateTimeException
- 出力時にエラーが発生した場合public LocalDateTime atDate(LocalDate date)
LocalDateTime
を作成します。
これは、指定された日付でこの時間から形成されたLocalDateTime
を返します。日付と時間のすべての可能性のある組合わせが有効です。
date
- 組み合せる日付。null以外public OffsetTime atOffset(ZoneOffset offset)
OffsetTime
を作成します。
これは、指定されたオフセットでこの時間から形成されたOffsetTime
を返します。時間とオフセットの考えられるすべての組み合せが有効です。
offset
- 組み合わせるオフセット、nullでないpublic int toSecondOfDay()
0
から24 * 60 * 60 - 1
)として抽出します。public long toNanoOfDay()
0
から24 * 60 * 60 * 1,000,000,000 - 1
)として抽出します。public int compareTo(LocalTime other)
LocalTime
をもう一方の時間と比較します。
この比較は、1日のうちのそれらのローカル時間の時系列上の位置に基づいています。Comparable
に定義されているとおりに、「equalsと一致」しています。
compareTo
、インタフェース: Comparable<LocalTime>
other
- 比較対象のもう一方の時間。null以外NullPointerException
- other
がnullである場合public boolean isAfter(LocalTime other)
LocalTime
が指定された時間より後にあるかどうかを確認します。
この比較は、1日のうちのその時間の時系列上の位置に基づいています。
other
- 比較対象のもう一方の時間。null以外NullPointerException
- other
がnullである場合public boolean isBefore(LocalTime other)
LocalTime
が指定された時間より前にあるかどうかを確認します。
この比較は、1日のうちのその時間の時系列上の位置に基づいています。
other
- 比較対象のもう一方の時間。null以外NullPointerException
- other
がnullである場合public boolean equals(Object obj)
この比較は、1日のうちのその時間の時系列上の位置に基づいています。
LocalTime
型のオブジェクトのみが比較され、それ以外の型はfalseを返します。2つのTemporalAccessor
インスタンスの日付を比較するには、ChronoField.NANO_OF_DAY
をコンパレータとして使用します。
equals
、クラス: Object
obj
- チェックするオブジェクト、nullはfalseを返すObject.hashCode()
、HashMap
public int hashCode()
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyrightc 1993, 2014, Oracle and/or its affiliates. All rights reserved.