- java.lang.Object
-
- java.time.OffsetTime
-
- すべての実装されたインタフェース:
Serializable
,Comparable<OffsetTime>
,Temporal
,TemporalAccessor
,TemporalAdjuster
public final class OffsetTime extends Object implements Temporal, TemporalAdjuster, Comparable<OffsetTime>, Serializable
ISO-8601暦体系におけるUTC/グリニッジからのオフセット付きの時間(10:15:30+01:00
など)。OffsetTime
は、時間(時-分-秒-オフセットとして表示されることが多い)を表す不変の日付/時間オブジェクトです。 このクラスでは、ゾーンオフセットの他に、すべての時間フィールドをナノ秒の精度まで格納します。 たとえば、値"13:45:30.123456789+02:00"はOffsetTime
に格納できます。これは値ベースのクラスです。
OffsetTime
のインスタンスに対して、アイデンティティの影響を受けやすい操作(参照型等価演算子(==
)、アイデンティティ・ハッシュ・コード、同期化など)を使用すると、予測できない結果が生じることがあるため、使わないようにしてください。 比較する場合は、equals
メソッドを使用することをお薦めします。- 実装要件:
- このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
- 直列化された形式
-
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static OffsetTime
MAX
サポートされている最大のOffsetTime
である「23:59:59.999999999-18:00」。static OffsetTime
MIN
サポートされている最小のOffsetTime
である「00:00:00+18:00」。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 Temporal
adjustInto(Temporal temporal)
指定された時間的オブジェクトを、このオブジェクトと同じオフセットおよび時間を持つように調整します。OffsetDateTime
atDate(LocalDate date)
この時間を日付と組み合せてOffsetDateTime
を作成します。int
compareTo(OffsetTime other)
このOffsetTime
をもう一方の時間と比較します。boolean
equals(Object obj)
この時間がもう一方の時間と等しいかどうかを確認します。String
format(DateTimeFormatter formatter)
指定されたフォーマッタを使用してこの時間を書式設定します。static OffsetTime
from(TemporalAccessor temporal)
時間的オブジェクトからOffsetTime
のインスタンスを取得します。int
get(TemporalField field)
指定されたフィールドの値をこの時間からint
として取得します。int
getHour()
時フィールドを取得します。long
getLong(TemporalField field)
指定されたフィールドの値をこの時間からlong
として取得します。int
getMinute()
分フィールドを取得します。int
getNano()
ナノ秒フィールドを取得します。ZoneOffset
getOffset()
「+01:00」などのゾーン・オフセットを取得します。int
getSecond()
秒フィールドを取得します。int
hashCode()
この時間のハッシュ・コード。boolean
isAfter(OffsetTime other)
両方の時間を一般的な日付に当てはめて、このOffsetTime
のインスタントが指定された時間のそれより後にあるかどうかを確認します。boolean
isBefore(OffsetTime other)
両方の時間を一般的な日付に当てはめて、このOffsetTime
のインスタントが指定された時間のそれより前にあるかどうかを確認します。boolean
isEqual(OffsetTime other)
両方の時間を一般的な日付に当てはめて、このOffsetTime
のインスタントが指定された時間のそれと等しいかどうかを確認します。boolean
isSupported(TemporalField field)
指定されたフィールドがサポートされているかどうかをチェックします。boolean
isSupported(TemporalUnit unit)
指定された単位がサポートされているかどうかをチェックします。OffsetTime
minus(long amountToSubtract, TemporalUnit unit)
指定された量を減算して、この時間のコピーを返します。OffsetTime
minus(TemporalAmount amountToSubtract)
指定された量を減算して、この時間のコピーを返します。OffsetTime
minusHours(long hours)
指定された時間数を減算して、このOffsetTime
のコピーを返します。OffsetTime
minusMinutes(long minutes)
指定された分数を減算して、このOffsetTime
のコピーを返します。OffsetTime
minusNanos(long nanos)
指定されたナノ秒数を減算して、このOffsetTime
のコピーを返します。OffsetTime
minusSeconds(long seconds)
指定された秒数を減算して、このOffsetTime
のコピーを返します。static OffsetTime
now()
デフォルトのタイムゾーンのシステム・クロックから現在の時間を取得します。static OffsetTime
now(Clock clock)
指定されたクロックから現在の時間を取得します。static OffsetTime
now(ZoneId zone)
指定されたタイムゾーンのシステム・クロックから現在の時間を取得します。static OffsetTime
of(int hour, int minute, int second, int nanoOfSecond, ZoneOffset offset)
時、分、秒、およびナノ秒からOffsetTime
のインスタンスを取得します。static OffsetTime
of(LocalTime time, ZoneOffset offset)
ローカル時間およびオフセットからOffsetTime
のインスタンスを取得します。static OffsetTime
ofInstant(Instant instant, ZoneId zone)
Instant
およびゾーンIDからOffsetTime
のインスタンスを取得します。static OffsetTime
parse(CharSequence text)
テキスト文字列(10:15:30+01:00
など)からOffsetTime
のインスタンスを取得します。static OffsetTime
parse(CharSequence text, DateTimeFormatter formatter)
特定のフォーマッタを使用して、テキスト文字列からOffsetTime
のインスタンスを取得します。OffsetTime
plus(long amountToAdd, TemporalUnit unit)
この時刻のコピーに指定された時間を追加したものを返します。OffsetTime
plus(TemporalAmount amountToAdd)
この時刻のコピーに指定された時間を追加したものを返します。OffsetTime
plusHours(long hours)
指定された時間数を加算して、このOffsetTime
のコピーを返します。OffsetTime
plusMinutes(long minutes)
指定された分数を加算して、このOffsetTime
のコピーを返します。OffsetTime
plusNanos(long nanos)
指定されたナノ秒数を加算して、このOffsetTime
のコピーを返します。OffsetTime
plusSeconds(long seconds)
指定された秒数を加算して、このOffsetTime
のコピーを返します。<R> R
query(TemporalQuery<R> query)
指定された問合せを使用してこの時間を問い合せます。ValueRange
range(TemporalField field)
指定されたフィールドの有効な値の範囲を取得します。long
toEpochSecond(LocalDate date)
このOffsetTime
を1970-01-01T00:00:00Zの時代からの秒数に変換します。LocalTime
toLocalTime()
この日付/時間のLocalTime
部分を取得します。String
toString()
この時間をString
として出力します(10:15:30+01:00
など)。OffsetTime
truncatedTo(TemporalUnit unit)
時間を切り捨てて、このOffsetTime
のコピーを返します。long
until(Temporal endExclusive, TemporalUnit unit)
もう一方の時間までの時間量を指定された単位で計算します。OffsetTime
with(TemporalAdjuster adjuster)
この時間の調整済のコピーを返します。OffsetTime
with(TemporalField field, long newValue)
指定されたフィールドを新しい値に設定して、この時間のコピーを返します。OffsetTime
withHour(int hour)
時の値を変更して、このOffsetTime
のコピーを返します。OffsetTime
withMinute(int minute)
分の値を変更して、このOffsetTime
のコピーを返します。OffsetTime
withNano(int nanoOfSecond)
ナノ秒の値を変更して、このOffsetTime
のコピーを返します。OffsetTime
withOffsetSameInstant(ZoneOffset offset)
結果が暗黙の日の同じインスタントを持つようにしながら、指定されたオフセットを使ってこのOffsetTime
のコピーを返します。OffsetTime
withOffsetSameLocal(ZoneOffset offset)
結果が同じローカル時間を持つようにしながら、指定されたオフセットを使ってこのOffsetTime
のコピーを返します。OffsetTime
withSecond(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_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
OFFSET_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
の場合、問合せはここで実装されます。 サポートされる単位は次のとおりです。NANOS
MICROS
MILLIS
SECONDS
MINUTES
HOURS
HALF_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
public Temporal adjustInto(Temporal temporal)
指定された時間的オブジェクトを、このオブジェクトと同じオフセットおよび時間を持つように調整します。これは、オフセットおよび時間をこれと同じになるように変更して、入力と同じ識別可能な型の時間的オブジェクトを返します。
この調整は、
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:00
11:00+01:00
12:00+02:00
11:30+01:00
12:00+01:00
12: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)
-
-