- すべての実装されたインタフェース:
Serializable,Comparable<OffsetTime>,Temporal,TemporalAccessor,TemporalAdjuster
public final class OffsetTime extends Object implements Temporal, TemporalAdjuster, Comparable<OffsetTime>, Serializable
10:15:30+01:00など)。
OffsetTimeは、時間(時-分-秒-オフセットとして表示されることが多い)を表す不変の日付/時間オブジェクトです。 このクラスでは、ゾーンオフセットの他に、すべての時間フィールドをナノ秒の精度まで格納します。 たとえば、値"13:45:30.123456789+02:00"はOffsetTimeに格納できます。
これは値ベースのクラスです。OffsetTimeのインスタンスに対して、アイデンティティの影響を受けやすい操作(参照型等価演算子(==)、アイデンティティ・ハッシュ・コード、同期化など)を使用すると、予測できない結果が生じることがあるため、使わないようにしてください。 比較する場合は、equalsメソッドを使用することをお薦めします。
- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
- 直列化された形式
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static OffsetTimeMAXサポートされている最大のOffsetTimeである「23:59:59.999999999-18:00」。static OffsetTimeMINサポートされている最小のOffsetTimeである「00:00:00+18:00」。 -
メソッドのサマリー
修飾子と型 メソッド 説明 TemporaladjustInto(Temporal temporal)指定された時間的オブジェクトを、このオブジェクトと同じオフセットおよび時間を持つように調整します。OffsetDateTimeatDate(LocalDate date)この時間を日付と組み合せてOffsetDateTimeを作成します。intcompareTo(OffsetTime other)このOffsetTimeをもう一方の時間と比較します。booleanequals(Object obj)この時間がもう一方の時間と等しいかどうかを確認します。Stringformat(DateTimeFormatter formatter)指定されたフォーマッタを使用してこの時間を書式設定します。static OffsetTimefrom(TemporalAccessor temporal)時間的オブジェクトからOffsetTimeのインスタンスを取得します。intget(TemporalField field)指定されたフィールドの値をこの時間からintとして取得します。intgetHour()時フィールドを取得します。longgetLong(TemporalField field)指定されたフィールドの値をこの時間からlongとして取得します。intgetMinute()分フィールドを取得します。intgetNano()ナノ秒フィールドを取得します。ZoneOffsetgetOffset()「+01:00」などのゾーン・オフセットを取得します。intgetSecond()秒フィールドを取得します。inthashCode()この時間のハッシュ・コード。booleanisAfter(OffsetTime other)両方の時間を一般的な日付に当てはめて、このOffsetTimeのインスタントが指定された時間のそれより後にあるかどうかを確認します。booleanisBefore(OffsetTime other)両方の時間を一般的な日付に当てはめて、このOffsetTimeのインスタントが指定された時間のそれより前にあるかどうかを確認します。booleanisEqual(OffsetTime other)両方の時間を一般的な日付に当てはめて、このOffsetTimeのインスタントが指定された時間のそれと等しいかどうかを確認します。booleanisSupported(TemporalField field)指定されたフィールドがサポートされているかどうかをチェックします。booleanisSupported(TemporalUnit unit)指定された単位がサポートされているかどうかをチェックします。OffsetTimeminus(long amountToSubtract, TemporalUnit unit)指定された量を減算して、この時間のコピーを返します。OffsetTimeminus(TemporalAmount amountToSubtract)指定された量を減算して、この時間のコピーを返します。OffsetTimeminusHours(long hours)指定された時間数を減算して、このOffsetTimeのコピーを返します。OffsetTimeminusMinutes(long minutes)指定された分数を減算して、このOffsetTimeのコピーを返します。OffsetTimeminusNanos(long nanos)指定されたナノ秒数を減算して、このOffsetTimeのコピーを返します。OffsetTimeminusSeconds(long seconds)指定された秒数を減算して、このOffsetTimeのコピーを返します。static OffsetTimenow()デフォルトのタイムゾーンのシステム・クロックから現在の時間を取得します。static OffsetTimenow(Clock clock)指定されたクロックから現在の時間を取得します。static OffsetTimenow(ZoneId zone)指定されたタイムゾーンのシステム・クロックから現在の時間を取得します。static OffsetTimeof(int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset)時、分、秒、およびナノ秒からOffsetTimeのインスタンスを取得します。static OffsetTimeof(LocalTime time, ZoneOffset offset)ローカル時間およびオフセットからOffsetTimeのインスタンスを取得します。static OffsetTimeofInstant(Instant instant, ZoneId zone)InstantおよびゾーンIDからOffsetTimeのインスタンスを取得します。static OffsetTimeparse(CharSequence text)テキスト文字列(10:15:30+01:00など)からOffsetTimeのインスタンスを取得します。static OffsetTimeparse(CharSequence text, DateTimeFormatter formatter)特定のフォーマッタを使用して、テキスト文字列からOffsetTimeのインスタンスを取得します。OffsetTimeplus(long amountToAdd, TemporalUnit unit)この時刻のコピーに指定された時間を追加したものを返します。OffsetTimeplus(TemporalAmount amountToAdd)この時刻のコピーに指定された時間を追加したものを返します。OffsetTimeplusHours(long hours)指定された時間数を加算して、このOffsetTimeのコピーを返します。OffsetTimeplusMinutes(long minutes)指定された分数を加算して、このOffsetTimeのコピーを返します。OffsetTimeplusNanos(long nanos)指定されたナノ秒数を加算して、このOffsetTimeのコピーを返します。OffsetTimeplusSeconds(long seconds)指定された秒数を加算して、このOffsetTimeのコピーを返します。<R> Rquery(TemporalQuery<R> query)指定された問合せを使用してこの時間を問い合せます。ValueRangerange(TemporalField field)指定されたフィールドの有効な値の範囲を取得します。longtoEpochSecond(LocalDate date)このOffsetTimeを1970-01-01T00:00:00Zの時代からの秒数に変換します。LocalTimetoLocalTime()この日付/時間のLocalTime部分を取得します。StringtoString()この時間をStringとして出力します(10:15:30+01:00など)。OffsetTimetruncatedTo(TemporalUnit unit)時間を切り捨てて、このOffsetTimeのコピーを返します。longuntil(Temporal endExclusive, TemporalUnit unit)もう一方の時間までの時間量を指定された単位で計算します。OffsetTimewith(TemporalAdjuster adjuster)この時間の調整済のコピーを返します。OffsetTimewith(TemporalField field, long newValue)指定されたフィールドを新しい値に設定して、この時間のコピーを返します。OffsetTimewithHour(int hour)時の値を変更して、このOffsetTimeのコピーを返します。OffsetTimewithMinute(int minute)分の値を変更して、このOffsetTimeのコピーを返します。OffsetTimewithNano(int nanoOfSecond)ナノ秒の値を変更して、このOffsetTimeのコピーを返します。OffsetTimewithOffsetSameInstant(ZoneOffset offset)結果が暗黙の日の同じインスタントを持つようにしながら、指定されたオフセットを使ってこのOffsetTimeのコピーを返します。OffsetTimewithOffsetSameLocal(ZoneOffset offset)結果が同じローカル時間を持つようにしながら、指定されたオフセットを使ってこのOffsetTimeのコピーを返します。OffsetTimewithSecond(int second)秒の値を変更して、このOffsetTimeのコピーを返します。
-
フィールド詳細
-
MIN
public static final OffsetTime MINサポートされている最小のOffsetTimeである「00:00:00+18:00」。 これは、最大オフセット(オフセットが大きくなるほど、時系列上では早くなる)でのその日の開始時の午前零時の時間です。 これは、LocalTime.MINとZoneOffset.MAXを組み合せます。 これは、アプリケーションによって「遠い過去」の日付として使用されることがあります。 -
MAX
public static final OffsetTime MAXサポートされている最大のOffsetTimeである「23:59:59.999999999-18:00」。 これは、最小オフセット(負のオフセットが大きくなるほど、時系列上では遅くなる)でのその日の終わりの午前零時直前の時間です。 これは、LocalTime.MAXとZoneOffset.MINを組み合せます。 これは、アプリケーションによって「遠い将来」の日付として使用されることがあります。
-
-
メソッドの詳細
-
now
public static OffsetTime now()デフォルトのタイムゾーンのシステム・クロックから現在の時間を取得します。これは、デフォルトのタイムゾーンの
システム・クロックを問い合せて、現在の時間を取得します。 オフセットは、そのクロックのタイムゾーンから計算されます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- 戻り値:
- システム・クロックとデフォルトのタイムゾーンを使用する現在の時間。null以外
-
now
public static OffsetTime now(ZoneId zone)指定されたタイムゾーンのシステム・クロックから現在の時間を取得します。これは、
システム・クロックを問い合せて現在の時間を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。 オフセットは、指定されたタイムゾーンから計算されます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- パラメータ:
zone- 使用するゾーンID、null以外- 戻り値:
- システム・クロックを使用する現在の時間。null以外
-
now
public static OffsetTime now(Clock clock)指定されたクロックから現在の時間を取得します。これは、指定されたクロックを照会して現在の時間を取得します。 オフセットは、そのクロックのタイムゾーンから計算されます。
このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは
dependency injectionを使用して導入できます。- パラメータ:
clock- 使用するクロック、null以外- 戻り値:
- 現在の時間。null以外
-
of
public static OffsetTime of(LocalTime time, ZoneOffset offset)ローカル時間およびオフセットからOffsetTimeのインスタンスを取得します。- パラメータ:
time- ローカル時間。null以外offset- ゾーンオフセット。null以外- 戻り値:
- オフセット時間。null以外
-
of
public static OffsetTime of(int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset)時、分、秒、およびナノ秒からOffsetTimeのインスタンスを取得します。これは、4つの指定されたフィールドを使用してオフセット時間を作成します。
このメソッドは、主としてテスト・ケースを作成するために存在しています。 テスト・コード以外では通常、別のメソッドを使ってオフセット時間を作成します。
LocalTimeには、より少ない引数を取る、同等のファクトリ・メソッドの簡易バリアントが他に2つあります。 APIのサイズを減らすため、それらについてはここでは説明しません。- パラメータ:
hour- 表される時(0-23)minute- 表される分(0-59)second- 表される秒(0-59)nanoOfSecond- 表現する「1秒のうちのナノ秒」、0から999,999,999offset- ゾーンオフセット。null以外- 戻り値:
- オフセット時間。null以外
- 例外:
DateTimeException- いずれかのフィールドの値が範囲外にある場合
-
ofInstant
public static OffsetTime ofInstant(Instant instant, ZoneId zone)InstantおよびゾーンIDからOffsetTimeのインスタンスを取得します。これは、指定されたのと同じインスタントを使ってオフセット時間を作成します。 インスタントごとに有効なオフセットは1つしかないため、UTC/グリニッジからのオフセットを見つけるのは簡単です。
そのインスタントの日付コンポーネントは、変換中に削除されます。 これは、そのインスタントが有効な日付の範囲外にあるために変換に失敗する可能性がないことを意味します。
- パラメータ:
instant- 時間の作成元のインスタント。null以外zone- タイムゾーン。オフセットの場合もある。null以外- 戻り値:
- オフセット時間。null以外
-
from
public static OffsetTime from(TemporalAccessor temporal)時間的オブジェクトからOffsetTimeのインスタンスを取得します。これは、指定された時間に基づいてオフセット時間を取得します。
TemporalAccessorは任意の日付と時間のセットに関する情報を表し、それがこのファクトリでOffsetTimeのインスタンスに変換されます。この変換では、時間的オブジェクトから
ZoneOffsetおよびLocalTimeを抽出して組み合せます。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。このメソッドは関数型インタフェース
TemporalQueryのシグネチャに一致するため、メソッド参照OffsetTime::fromを介して、問合せとして使用できます。- パラメータ:
temporal- 変換する一時オブジェクト、null以外- 戻り値:
- オフセット時間。null以外
- 例外:
DateTimeException-OffsetTimeに変換できない場合
-
parse
public static OffsetTime parse(CharSequence text)テキスト文字列(10:15:30+01:00など)からOffsetTimeのインスタンスを取得します。この文字列は有効な時間を表している必要があり、
DateTimeFormatter.ISO_OFFSET_TIMEを使って解析されます。- パラメータ:
text- 「10:15:30+01:00」などの解析対象のテキスト。null以外- 戻り値:
- 解析されたローカル時間。null以外
- 例外:
DateTimeParseException- テキストが解析できない場合
-
parse
public static OffsetTime parse(CharSequence text, DateTimeFormatter formatter)特定のフォーマッタを使用して、テキスト文字列からOffsetTimeのインスタンスを取得します。そのテキストがフォーマッタを使って解析され、時間が返されます。
- パラメータ:
text- 解析するテキスト。null以外formatter- 使用するフォーマッタ、null以外- 戻り値:
- 解析されたオフセット時間。null以外
- 例外:
DateTimeParseException- テキストが解析できない場合
-
isSupported
public boolean isSupported(TemporalField field)指定されたフィールドがサポートされているかどうかをチェックします。これは、指定されたフィールドをこの時間に問い合せることができるかどうかを確認します。 falseの場合、
range、get、およびwith(TemporalField, long)メソッドの呼び出しは、例外をスローします。フィールドが
ChronoFieldの場合、ここに問合せを実装します。 サポートされるフィールドは、次のとおりです。NANO_OF_SECONDNANO_OF_DAYMICRO_OF_SECONDMICRO_OF_DAYMILLI_OF_SECONDMILLI_OF_DAYSECOND_OF_MINUTESECOND_OF_DAYMINUTE_OF_HOURMINUTE_OF_DAYHOUR_OF_AMPMCLOCK_HOUR_OF_AMPMHOUR_OF_DAYCLOCK_HOUR_OF_DAYAMPM_OF_DAYOFFSET_SECONDS
ChronoFieldインスタンスはfalseを返します。フィールドが
ChronoFieldでない場合、このメソッドの結果は、thisを引数として渡してTemporalField.isSupportedBy(TemporalAccessor)を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
- インタフェース
TemporalAccessorのisSupported - パラメータ:
field- チェックするフィールド、nullはfalseを返す- 戻り値:
- フィールドがこの時間でサポートされている場合はtrue、サポートされていない場合はfalse
-
isSupported
public boolean isSupported(TemporalUnit unit)指定された単位がサポートされているかどうかをチェックします。これは、指定された単位をこのオフセット/時間に対して加算または減算できるかどうかをチェックします。 falseの場合、
plus(long, TemporalUnit)およびminusメソッドの呼び出しは、例外をスローします。単位が
ChronoUnitの場合、問合せはここで実装されます。 サポートされる単位は次のとおりです。NANOSMICROSMILLISSECONDSMINUTESHOURSHALF_DAYS
ChronoUnitインスタンスはfalseを返します。単位が
ChronoUnitでない場合、このメソッドの結果は、thisを引数として渡してTemporalUnit.isSupportedBy(Temporal)を呼び出すことによって取得します。 単位がサポートされているかどうかは単位によって決定します。- 定義:
- インタフェース
TemporalのisSupported - パラメータ:
unit- チェックする単位、nullはfalseを返す- 戻り値:
- 単位を加算/減算できる場合はtrue、できない場合はfalse
-
range
public ValueRange range(TemporalField field)指定されたフィールドの有効な値の範囲を取得します。範囲オブジェクトはフィールドの有効な最小値と最大値を表します。 この時間は、返される範囲の精度を高めるために使用されます。 範囲を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。サポートされるフィールドは適切な範囲のインスタンスを返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.rangeRefinedBy(TemporalAccessor)を呼び出すことにより取得されます。 範囲を取得できるかどうかはフィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのrange - パラメータ:
field- 範囲を問い合わせるフィールド、null以外- 戻り値:
- フィールドの有効値の範囲。null以外
- 例外:
DateTimeException- フィールドの範囲を取得できない場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合
-
get
public int get(TemporalField field)指定されたフィールドの値をこの時間からintとして取得します。これは、指定されたフィールドの値についてこの時間に問い合せます。 返される値は常にフィールドの値の有効な範囲内になります。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。supported fieldsは、NANO_OF_DAYとMICRO_OF_DAYを除いて、この時間に基づいて有効な値を返します。intにフィットするには大きすぎ、UnsupportedTemporalTypeExceptionをスローします。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのget - パラメータ:
field- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- 例外:
DateTimeException- フィールドの値を取得できない場合、または値がフィールドの有効な値の範囲外の場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合、または値の範囲がintを超えている場合ArithmeticException- 数値のオーバーフローが発生した場合
-
getLong
public long getLong(TemporalField field)指定されたフィールドの値をこの時間からlongとして取得します。これは、指定されたフィールドの値についてこの時間に問い合せます。 値を返せない場合は、フィールドがサポートされていないか他のなんらかの理由で、例外がスローされます。
フィールドが
ChronoFieldの場合、ここに問合せを実装します。サポートされているフィールドは、この時間に基づいて有効な値を返します。 他のすべてのChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、引数としてthisを渡してTemporalField.getFrom(TemporalAccessor)を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
- インタフェース
TemporalAccessorのgetLong - パラメータ:
field- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- 例外:
DateTimeException- フィールドの値を取得できない場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
getOffset
public ZoneOffset getOffset()「+01:00」などのゾーン・オフセットを取得します。これは、UTC/グリニッジからのローカル時間のオフセットです。
- 戻り値:
- ゾーン・オフセット、null以外
-
withOffsetSameLocal
public OffsetTime withOffsetSameLocal(ZoneOffset offset)結果が同じローカル時間を持つようにしながら、指定されたオフセットを使ってこのOffsetTimeのコピーを返します。このメソッドは、同じ
LocalTimeおよび指定されたZoneOffsetを使ってオブジェクトを返します。 必要な計算や行われる計算はありません。 たとえば、この時間が10:30+02:00を表し、指定されたオフセットが+03:00の場合、このメソッドは10:30+03:00を返します。それらのオフセット間の差異を考慮に入れて、時間フィールドを調整するには、
withOffsetSameInstant(java.time.ZoneOffset)を使用します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
offset- 変更後のゾーンオフセット。null以外- 戻り値:
- リクエストされたオフセットを含む、この時間に基づいた
OffsetTime。null以外
-
withOffsetSameInstant
public OffsetTime withOffsetSameInstant(ZoneOffset offset)結果が暗黙の日の同じインスタントを持つようにしながら、指定されたオフセットを使ってこのOffsetTimeのコピーを返します。このメソッドは、指定された
ZoneOffsetおよびLocalTimeを2つのオフセット間の差異によって調整してオブジェクトを返します。 これによって、暗黙の日の同じインスタントを表す古いオブジェクトと新しいオブジェクトが生成されます。 これは、ローカル時間を異なるオフセットで検索する場合に役立ちます。 たとえば、この時間が10:30+02:00を表し、指定されたオフセットが+03:00の場合、このメソッドは11:30+03:00を返します。ローカル時間を調整しないでオフセットを変更するには、
withOffsetSameLocal(java.time.ZoneOffset)を使用します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
offset- 変更後のゾーンオフセット。null以外- 戻り値:
- リクエストされたオフセットを含む、この時間に基づいた
OffsetTime。null以外
-
toLocalTime
public LocalTime toLocalTime()この日付/時間のLocalTime部分を取得します。これは、この日付/時間と同じ時、分、秒、およびナノ秒を使って
LocalTimeを返します。- 戻り値:
- 日付/時間の時間部分、null以外
-
getHour
public int getHour()時フィールドを取得します。- 戻り値:
- 時(0-23)
-
getMinute
public int getMinute()分フィールドを取得します。- 戻り値:
- 分(0-59)
-
getSecond
public int getSecond()秒フィールドを取得します。- 戻り値:
- 秒(0-59)
-
getNano
public int getNano()ナノ秒フィールドを取得します。- 戻り値:
- ナノ秒(0-999,999,999)
-
with
public OffsetTime with(TemporalAdjuster adjuster)この時間の調整済のコピーを返します。これは、時間を調整して、この時間に基づく
OffsetTimeを返します。 調整は、指定されたアジャスタ戦略オブジェクトを使用して行われます。 どのような調整が行われるかを理解するには、アジャスタのドキュメントを参照してください。単純なアジャスタは、時フィールドなど、いずれか1つのフィールドを設定できるだけです。 より複雑なアジャスタは、時間をその日の最後の時に設定できます。
クラス
LocalTimeおよびZoneOffsetはTemporalAdjusterを実装するため、このメソッドを使用すると、時間またはオフセットを変更できます。result = offsetTime.with(time); result = offsetTime.with(offset);
このメソッドの結果は、指定されたアジャスタで
thisを引数として渡してTemporalAdjuster.adjustInto(Temporal)メソッドを呼び出すことによって取得されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporalのwith - パラメータ:
adjuster- 使用するアジャスタ、null以外- 戻り値:
- 調整が行われた、
これに基づくOffsetTime。null以外 - 例外:
DateTimeException- 調整ができない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
with
public OffsetTime with(TemporalField field, long newValue)指定されたフィールドを新しい値に設定して、この時間のコピーを返します。これは、指定されたフィールドの値を変更して、この時間に基づく
OffsetTimeを返します。 これを使用すると、時、分、秒などのサポートされているフィールドを変更できます。 値を設定できない場合は、フィールドがサポートされていないか他の理由のために、例外がスローされます。フィールドが
ChronoFieldの場合は、調整はここで実装されます。OFFSET_SECONDSフィールドは、指定されたオフセットを使って時間を返します。 ローカル時間は変更されません。 新しいオフセット値が有効な範囲外にある場合は、DateTimeExceptionがスローされます。その他の
サポートされているフィールドは、LocalTime.with(TemporalField, long)LocalTime}上の一致するメソッドのとおりに動作します。 この場合、オフセットは計算の一部ではないため、変更されません。他のすべての
ChronoFieldインスタンスはUnsupportedTemporalTypeExceptionをスローします。フィールドが
ChronoFieldではない場合、このメソッドの結果は、thisを引数として渡してTemporalField.adjustInto(Temporal, long)を呼び出すことによって取得されます。 この場合、インスタントを調整するかどうかおよびどのように調整するかはフィールドによって決まります。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporalのwith - パラメータ:
field- 結果に設定するフィールド、null以外newValue- 結果のフィールドの新しい値- 戻り値:
- 指定されたフィールドが設定された、
これに基づくOffsetTime。null以外 - 例外:
DateTimeException- フィールドを設定できない場合UnsupportedTemporalTypeException- フィールドがサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
withHour
public OffsetTime withHour(int hour)時の値を変更して、このOffsetTimeのコピーを返します。オフセットは計算に影響を及ぼさないため、結果でも同じになります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hour- 結果に設定される時(0-23)- 戻り値:
- リクエストされた時を含む、この時間に基づいた
OffsetTime。null以外 - 例外:
DateTimeException- 時の値が無効である場合
-
withMinute
public OffsetTime withMinute(int minute)分の値を変更して、このOffsetTimeのコピーを返します。オフセットは計算に影響を及ぼさないため、結果でも同じになります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minute- 結果に設定される分(0-59)- 戻り値:
- リクエストされた分を含む、この時間に基づいた
OffsetTime。null以外 - 例外:
DateTimeException- 分の値が無効である場合
-
withSecond
public OffsetTime withSecond(int second)秒の値を変更して、このOffsetTimeのコピーを返します。オフセットは計算に影響を及ぼさないため、結果でも同じになります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
second- 結果に設定される秒(0-59)- 戻り値:
- リクエストされた秒を含む、この時間に基づいた
OffsetTime。null以外 - 例外:
DateTimeException- 秒の値が無効である場合
-
withNano
public OffsetTime withNano(int nanoOfSecond)ナノ秒の値を変更して、このOffsetTimeのコピーを返します。オフセットは計算に影響を及ぼさないため、結果でも同じになります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanoOfSecond- 結果に設定されるナノ秒(0-999,999,999)- 戻り値:
- リクエストされたナノ秒を含む、この時間に基づいた
OffsetTime。null以外 - 例外:
DateTimeException- ナノ秒の値が無効である場合
-
truncatedTo
public OffsetTime truncatedTo(TemporalUnit unit)時間を切り捨てて、このOffsetTimeのコピーを返します。切り詰めでは、指定された単位よりも小さいフィールドをゼロに設定して、元の時間のコピーを返します。 たとえば、
分単位で切り詰めると、秒およびナノ秒フィールドはゼロに設定されます。単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。 これには、
ChronoUnitとDAYSで提供されるすべての時間単位が含まれます。 他の単位は例外をスローします。オフセットは計算に影響を及ぼさないため、結果でも同じになります。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
unit- 切り捨てを行う単位、nullでない- 戻り値:
- 時間が切り捨てられた、この時間に基づく
OffsetTime。null以外 - 例外:
DateTimeException- 切り捨てられない場合UnsupportedTemporalTypeException- 単位がサポートされていない場合
-
plus
public OffsetTime plus(TemporalAmount amountToAdd)この時刻のコピーに指定された時間を追加したものを返します。これは、指定された量を加算して、この時間に基づく
OffsetTimeを返します。 この量は通常Durationですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。計算は、
TemporalAmount.addTo(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は加算を任意の方法で自由に実装できますが、通常はplus(long, TemporalUnit)にコールバックします。 正常に加算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporalのplus - パラメータ:
amountToAdd- 加算する量、nullでない- 戻り値:
- 加算が行われた、この時間に基づく
OffsetTime。null以外 - 例外:
DateTimeException- 加算できない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
plus
public OffsetTime plus(long amountToAdd, TemporalUnit unit)この時刻のコピーに指定された時間を追加したものを返します。これは、その単位での量を加算して、この時間に基づく
OffsetTimeを返します。 量を加算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。フィールドが
ChronoUnitである場合は、LocalTime.plus(long, TemporalUnit)によって加算が実装されます。 オフセットは計算の一部ではないため、結果でも変わりません。フィールドが
ChronoUnitでない場合、このメソッドの結果は、thisを引数として渡してTemporalUnit.addTo(Temporal, long)を呼び出すことによって取得されます。 この場合、加算を実行するかどうかおよびどのように実行するかは単位によって決まります。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporalのplus - パラメータ:
amountToAdd- 結果に加算する単位の量、負も可unit- 加算する量の単位、nullでない- 戻り値:
- 指定された量が加算された、この時間に基づく
OffsetTime。null以外 - 例外:
DateTimeException- 加算できない場合UnsupportedTemporalTypeException- 単位がサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
plusHours
public OffsetTime plusHours(long hours)指定された時間数を加算して、このOffsetTimeのコピーを返します。これは、指定された時間数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hours- 加算する時間数。負の値の場合もある- 戻り値:
- その時間数が加算された、この時間に基づく
OffsetTime。null以外
-
plusMinutes
public OffsetTime plusMinutes(long minutes)指定された分数を加算して、このOffsetTimeのコピーを返します。これは、指定された分数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minutes- 加算する分数。負の値の場合もある- 戻り値:
- その分数が加算された、この時間に基づく
OffsetTime。null以外
-
plusSeconds
public OffsetTime plusSeconds(long seconds)指定された秒数を加算して、このOffsetTimeのコピーを返します。これは、指定された秒数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
seconds- 加算する秒数。負の値の場合もある- 戻り値:
- その秒数が加算された、この時間に基づく
OffsetTime。null以外
-
plusNanos
public OffsetTime plusNanos(long nanos)指定されたナノ秒数を加算して、このOffsetTimeのコピーを返します。これは、指定されたナノ秒数をこの時間に加算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanos- 加算するナノ秒数。負の値の場合もある- 戻り値:
- そのナノ秒数が加算された、この時間に基づく
OffsetTime。null以外
-
minus
public OffsetTime minus(TemporalAmount amountToSubtract)指定された量を減算して、この時間のコピーを返します。これは、指定された量を減算して、この時間に基づく
OffsetTimeを返します。 この量は通常Durationですが、TemporalAmountインタフェースを実装する他のどの型であってもかまいません。計算は、
TemporalAmount.subtractFrom(Temporal)を呼び出すことによって量オブジェクトに委譲されます。 量実装は減算を任意の方法で自由に実装できますが、通常はminus(long, TemporalUnit)にコールバックします。 正常に減算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporalのminus - パラメータ:
amountToSubtract- 減算する量、nullでない- 戻り値:
- 減算が行われた、この時間に基づく
OffsetTime。null以外 - 例外:
DateTimeException- 減算ができない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
minus
public OffsetTime minus(long amountToSubtract, TemporalUnit unit)指定された量を減算して、この時間のコピーを返します。これは、その単位での量を減算して、この時間に基づく
OffsetTimeを返します。 量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。このメソッドは、量を符号反転した
plus(long, TemporalUnit)と同等です。 加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporalのminus - パラメータ:
amountToSubtract- 結果から減算する単位の量、負も可unit- 減算する量の単位、nullでない- 戻り値:
- 指定された量が減算された、この時間に基づく
OffsetTime。null以外 - 例外:
DateTimeException- 減算ができない場合UnsupportedTemporalTypeException- 単位がサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
minusHours
public OffsetTime minusHours(long hours)指定された時間数を減算して、このOffsetTimeのコピーを返します。これは、指定された時間数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hours- 減算する時間数。負の値の場合もある- 戻り値:
- その時間数が減算された、この時間に基づく
OffsetTime。null以外
-
minusMinutes
public OffsetTime minusMinutes(long minutes)指定された分数を減算して、このOffsetTimeのコピーを返します。これは、指定された分数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minutes- 減算する分数。負の値の場合もある- 戻り値:
- その分数が減算された、この時間に基づく
OffsetTime。null以外
-
minusSeconds
public OffsetTime minusSeconds(long seconds)指定された秒数を減算して、このOffsetTimeのコピーを返します。これは、指定された秒数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
seconds- 減算する秒数。負の値の場合もある- 戻り値:
- その秒数が減算された、この時間に基づく
OffsetTime。null以外
-
minusNanos
public OffsetTime minusNanos(long nanos)指定されたナノ秒数を減算して、このOffsetTimeのコピーを返します。これは、指定されたナノ秒数をこの時間から減算して、新しい時間を返します。 この計算は深夜零時でラップします。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanos- 減算するナノ秒数。負の値の場合もある- 戻り値:
- そのナノ秒数が減算された、この時間に基づく
OffsetTime。null以外
-
query
public <R> R query(TemporalQuery<R> query)指定された問合せを使用してこの時間を問い合せます。これは、指定された問合せ方針オブジェクトを使用してこの時間を問い合せます。
TemporalQueryオブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。このメソッドの結果は、
thisを引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)メソッドを呼び出すことによって取得します。- 定義:
- インタフェース
TemporalAccessorのquery - 型パラメータ:
R- 結果の型- パラメータ:
query- 呼び出す問合せ、null以外- 戻り値:
- 問合せ結果、nullが返されることがある(問合せによって定義される)
- 例外:
DateTimeException- 問い合わせできない場合(問合せによって定義される)ArithmeticException- 数値のオーバーフローが発生した場合(問合せによって定義される)
-
adjustInto
指定された時間的オブジェクトを、このオブジェクトと同じオフセットおよび時間を持つように調整します。これは、オフセットおよび時間をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
この調整は、
ChronoField.NANO_OF_DAYおよびChronoField.OFFSET_SECONDSをフィールドとして渡してTemporal.with(TemporalField, long)を2回使用することと同等です。ほとんどのケースで、
Temporal.with(TemporalAdjuster)を使用して、呼び出しパターンを逆にすると明確になります。// these two lines are equivalent, but the second approach is recommended temporal = thisOffsetTime.adjustInto(temporal); temporal = temporal.with(thisOffsetTime);
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
TemporalAdjusterのadjustInto - パラメータ:
temporal- 調整するターゲット・オブジェクト、null以外- 戻り値:
- 調整されるオブジェクト、null以外
- 例外:
DateTimeException- 調整を実行できない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
until
public long until(Temporal endExclusive, TemporalUnit unit)もう一方の時間までの時間量を指定された単位で計算します。これは、1つの
TemporalUnitを単位として、2つのOffsetTimeオブジェクト間の時間量を計算します。 始点と終点は、これと指定された時間です。 終了が開始より前である場合、結果は負になります。 たとえば、2つの時間の間の時間数は、startTime.until(endTime, HOURS)を使用して計算できます。このメソッドに渡された
Temporalは、from(TemporalAccessor)を使用してOffsetTimeに変換されます。 2つの時間の間でオフセットが異なる場合は、指定された終了時間がこの時間と同じオフセットを持つように正規化されます。この計算では、2つの時間の間の完全な単位の数を表す整数を返します。 たとえば、11:30Zと13:29Zの間の時間数は、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-OffsetTimeに変換される終了時間(これを含まない)。null以外unit- 量を測定する単位、null以外- 戻り値:
- この時間から終了時間までの時間量
- 例外:
DateTimeException- その量を計算できないか、終了時間をOffsetTimeに変換できない場合UnsupportedTemporalTypeException- 単位がサポートされていない場合ArithmeticException- 数値のオーバーフローが発生した場合
-
format
public String format(DateTimeFormatter formatter)指定されたフォーマッタを使用してこの時間を書式設定します。この時間がフォーマッタに渡されて、文字列が生成されます。
- パラメータ:
formatter- 使用するフォーマッタ、null以外- 戻り値:
- 書式設定された時間文字列。null以外
- 例外:
DateTimeException- 出力時にエラーが発生した場合
-
atDate
public OffsetDateTime atDate(LocalDate date)この時間を日付と組み合せてOffsetDateTimeを作成します。これは、この時間および指定された日付から形成された
OffsetDateTimeを返します。 日付と時間のすべての可能性のある組合わせが有効です。- パラメータ:
date- 組み合せる日付。null以外- 戻り値:
- この時間および指定された日付から形成されたオフセット日付/時間。null以外
-
toEpochSecond
public long toEpochSecond(LocalDate date)このOffsetTimeを1970-01-01T00:00:00Zの時代からの秒数に変換します。これは、このオフセット時間を指定された日付と組み合わせて、1970-01-01T00:00:00Zからの経過秒数である第2のエポック値を計算します。 エポックより後の時系列上のインスタントは正で、それより前は負になります。
- パラメータ:
date- localdate、not null- 戻り値:
- 1970-01-01T00:00:00Zの時代からの秒数。
- 導入されたバージョン:
- 9
-
compareTo
public int compareTo(OffsetTime other)このOffsetTimeをもう一方の時間と比較します。この比較は、まずUTCに相当するインスタントに基づいて行われ、次にローカル時間に基づいて行われます。
Comparableに定義されているとおりに、「equalsと一致」しています。たとえば、以下はコンパレータの順序です。
10:30+01:0011:00+01:0012:00+02:0011:30+01:0012:00+01:0012:30+01:00
equals()と矛盾しないようにするために必要です。2つの
TemporalAccessorインスタンスのベースとなるローカル時間を比較するには、ChronoField.NANO_OF_DAYをコンパレータとして使用します。- 定義:
compareTo、インタフェース:Comparable<OffsetTime>- パラメータ:
other- 比較対象のもう一方の時間。null以外- 戻り値:
- コンパレータ値、小さい場合は負、大きい場合は正
-
isAfter
public boolean isAfter(OffsetTime other)両方の時間を一般的な日付に当てはめて、このOffsetTimeのインスタントが指定された時間のそれより後にあるかどうかを確認します。このメソッドは、時間のインスタントのみを比較するという点で、
compareTo(java.time.OffsetTime)での比較とは異なります。 これは、同じ日付を使用して両方の時間をインスタントに変換し、それらのインスタントを比較することと同等です。- パラメータ:
other- 比較対象のもう一方の時間。null以外- 戻り値:
- これが指定された時間のインスタントより後にある場合はtrue
-
isBefore
public boolean isBefore(OffsetTime other)両方の時間を一般的な日付に当てはめて、このOffsetTimeのインスタントが指定された時間のそれより前にあるかどうかを確認します。このメソッドは、時間のインスタントのみを比較するという点で、
compareTo(java.time.OffsetTime)での比較とは異なります。 これは、同じ日付を使用して両方の時間をインスタントに変換し、それらのインスタントを比較することと同等です。- パラメータ:
other- 比較対象のもう一方の時間。null以外- 戻り値:
- これが指定された時間のインスタントより前にある場合はtrue
-
isEqual
public boolean isEqual(OffsetTime other)両方の時間を一般的な日付に当てはめて、このOffsetTimeのインスタントが指定された時間のそれと等しいかどうかを確認します。このメソッドは、時間のインスタントのみを比較するという点で、
compareTo(java.time.OffsetTime)およびequals(java.lang.Object)での比較とは異なります。 これは、同じ日付を使用して両方の時間をインスタントに変換し、それらのインスタントを比較することと同等です。- パラメータ:
other- 比較対象のもう一方の時間。null以外- 戻り値:
- これが指定された時間のインスタントと等しい場合はtrue
-
equals
public boolean equals(Object obj)この時間がもう一方の時間と等しいかどうかを確認します。この比較は、ローカル時間およびオフセットに基づいて行われます。 時系列上の同じインスタントに対して比較を行うには、
isEqual(OffsetTime)を使用します。OffsetTime型のオブジェクトのみが比較され、それ以外の型はfalseを返します。 2つのTemporalAccessorインスタンスのベースとなるローカル時間を比較するには、ChronoField.NANO_OF_DAYをコンパレータとして使用します。- オーバーライド:
equals、クラス:Object- パラメータ:
obj- チェックするオブジェクト、nullはfalseを返す- 戻り値:
- これがもう一方の時間と等しい場合はtrue
- 関連項目:
Object.hashCode()、HashMap
-
hashCode
public int hashCode()この時間のハッシュ・コード。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- 適切なハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
toString
public String toString()この時間をStringとして出力します(10:15:30+01:00など)。この出力は、次のISO-8601形式のいずれかになります。
HH:mmXXXXXHH:mm:ssXXXXXHH:mm:ss.SSSXXXXXHH:mm:ss.SSSSSSXXXXXHH:mm:ss.SSSSSSSSSXXXXX
-