- すべての実装されたインタフェース:
Serializable
,Comparable<ChronoZonedDateTime<?>>
,ChronoZonedDateTime<LocalDate>
,Temporal
,TemporalAccessor
2007-12-03T10:15:30+01:00 Europe/Paris
など)。
ZonedDateTime
はタイムゾーン付き日付/時間の不変表現です。 このクラスは、すべての日付および時間フィールド (ナノ秒精度) とタイムゾーン (あいまいなローカル日付/時間を処理するために使用するゾーン・オフセット付き) を格納します。 たとえば、値2nd October 2007 at 13:45.30.123456789 +02:00 in the Europe/Paris time-zoneをZonedDateTime
に格納できます。
このクラスは、LocalDateTime
のローカル時系列からInstant
のインスタント時系列への変換を処理します。 この2つの時系列の違いは、ZoneOffset
で表される、UTC/グリニッジからのオフセットです。
2つの時系列の間の変換には、ZoneId
からアクセスされるルール
を使用したオフセット計算が必要です。 インスタントのオフセットを取得するのは単純です。インスタントごとに有効なオフセットは正確に1つだけ存在するためです。 これに対し、ローカル日付/時間のオフセットを取得することは単純ではありません。 3つのケースがあります。
- 通常、有効なオフセットが1つ。 年の大部分は通常ケースが適用されます。ローカル日付/時間に有効なオフセットが1つ存在します。
- ギャップ、有効なオフセットがゼロ。 これは一般的に、春サマー・タイムが冬から夏に変わったために、クロックが前方向にジャンプするときです。 ギャップには、有効なオフセットを持たないローカル日付/時間値が存在します。
- 重複、有効なオフセットが2つ。 これは一般的に、秋サマー・タイムが夏から冬に変わったために、クロックが後方向に戻るときです。 重複には、有効なオフセットを2つ持つローカル日付/時間値が存在します。
オフセットを取得することで直接または暗黙にローカル日付/時間からインスタントに変換するメソッドは、複雑になる可能性があります。
ギャップの一般戦略では、ローカル日付/時間がギャップ内にある場合は、結果のゾーン付き日付/時間はローカル日付/時間をギャップの長さ分前方向にシフトさせます。その結果、後のオフセット内の日付/時間(一般的に夏時間)になります。
重複の一般戦略では、ローカル日付/時間が重複内にある場合は、直前のオフセットが保持されます。 直前のオフセットがない場合、または直前のオフセットが無効な場合、先のオフセット(一般的に夏時間)が使用されます。 2つの追加メソッド(withEarlierOffsetAtOverlap()
とwithLaterOffsetAtOverlap()
)は、重複のケースを管理するのに役立ちます。
設計の観点からは、このクラスは主としてLocalDateTime
およびZoneId
の組合せとして表示するべきです。 ZoneOffset
は、クラスがインスタントを表現することを保証するために使用される(特にサマー・タイム重複中)、重要ですが補助的な情報です。
これはvalue-basedクラスです。プログラマは、equalのインスタンスを交換可能として扱い、同期にインスタンスを使用しないようにする必要があります。そうしないと、予期しない動作が発生する可能性があります。 たとえば、将来のリリースでは、同期が失敗する可能性があります。 比較する場合は、equals
メソッドを使用することをお薦めします。
- 実装要件:
ZonedDateTime
は、3つの別個のオブジェクト(LocalDateTime
、ZoneId
および解決されたZoneOffset
)と同等の状態を保持します。 オフセットとローカル日付/時間は、必要に応じてインスタントを定義するために使用されます。 ゾーンIDは、オフセットがどのようにいつ変化するかのルールを取得するために使用されます。 どのオフセットが有効かはゾーンが制御するため、オフセットは自由に設定できません。このクラスは不変でスレッドセーフです。
- 導入されたバージョン:
- 1.8
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明boolean
この日付/時間が別の日付/時間と等しいかどうかをチェックします。format
(DateTimeFormatter formatter) 指定されたフォーマッタを使用してこの日付/時間を書式設定します。static ZonedDateTime
from
(TemporalAccessor temporal) 時間的オブジェクトからZonedDateTime
のインスタンスを取得します。int
get
(TemporalField field) 指定されたフィールドの値をこの日付/時間からint
として取得します。int
「月の日」フィールドを取得します。列挙型DayOfWeek
である曜日フィールドを取得します。int
「年の日」フィールドを取得します。int
getHour()
時フィールドを取得します。long
getLong
(TemporalField field) 指定されたフィールドの値をこの日付/時間からlong
として取得します。int
分フィールドを取得します。getMonth()
列挙型Month
を使用して、月フィールドを取得します。int
月フィールドを取得します(1-12)。int
getNano()
ナノ秒フィールドを取得します。「+01:00」などのゾーン・オフセットを取得します。int
秒フィールドを取得します。int
getYear()
年フィールドを取得します。getZone()
Europe/Parisなど、タイムゾーンを取得します。int
hashCode()
この日付/時間のハッシュ・コード。boolean
isSupported
(TemporalField field) 指定されたフィールドがサポートされているかどうかをチェックします。boolean
isSupported
(TemporalUnit unit) 指定された単位がサポートされているかどうかをチェックします。minus
(long amountToSubtract, TemporalUnit unit) 指定された量を減算した、この日付/時間のコピーを返します。minus
(TemporalAmount amountToSubtract) 指定された量を減算した、この日付/時間のコピーを返します。minusDays
(long days) 指定された日数を減算して、このZonedDateTime
のコピーを返します。minusHours
(long hours) 指定された時間数を減算して、このZonedDateTime
のコピーを返します。minusMinutes
(long minutes) 指定された分数を減算して、このZonedDateTime
のコピーを返します。minusMonths
(long months) 指定された月数を減算して、このZonedDateTime
のコピーを返します。minusNanos
(long nanos) 指定されたナノ秒数を減算して、このZonedDateTime
のコピーを返します。minusSeconds
(long seconds) 指定された秒数を減算して、このZonedDateTime
のコピーを返します。minusWeeks
(long weeks) 指定された週数を減算して、このZonedDateTime
のコピーを返します。minusYears
(long years) 指定された年数を減算して、このZonedDateTime
のコピーを返します。static ZonedDateTime
now()
デフォルトのタイムゾーンのシステム・クロックから現在の日付/時間を取得します。static ZonedDateTime
指定されたクロックから現在の日付/時間を取得します。static ZonedDateTime
指定されたタイムゾーンのシステム・クロックから現在の日付/時間を取得します。static ZonedDateTime
of
(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone) 年、月、日、時、分、秒、ナノ秒、およびタイムゾーンからZonedDateTime
のインスタンスを取得します。static ZonedDateTime
ローカルの日付と時間からZonedDateTime
のインスタンスを取得します。static ZonedDateTime
of
(LocalDateTime localDateTime, ZoneId zone) ローカル日付/時間からZonedDateTime
のインスタンスを取得します。static ZonedDateTime
Instant
からZonedDateTime
のインスタンスを取得します。static ZonedDateTime
ofInstant
(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone) ローカル日付/時間とオフセットを組み合せることで形成されるインスタントからZonedDateTime
のインスタンスを取得します。static ZonedDateTime
ofLocal
(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset) 可能であれば優先オフセットを使用して、ローカル日付/時間からZonedDateTime
のインスタンスを取得します。static ZonedDateTime
ofStrict
(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone) ローカル日付/時間、オフセット、およびゾーンIDの組合せを厳密に検証して、ZonedDateTime
のインスタンスを取得します。static ZonedDateTime
parse
(CharSequence text) 2007-12-03T10:15:30+01:00[Europe/Paris]
などのテキスト文字列からZonedDateTime
のインスタンスを取得します。static ZonedDateTime
parse
(CharSequence text, DateTimeFormatter formatter) 特定のフォーマッタを使用して、テキスト文字列からZonedDateTime
のインスタンスを取得します。plus
(long amountToAdd, TemporalUnit unit) 指定された量を加算した、この日付/時間のコピーを返します。plus
(TemporalAmount amountToAdd) 指定された量を加算した、この日付/時間のコピーを返します。plusDays
(long days) 指定された日数を加算して、このZonedDateTime
のコピーを返します。plusHours
(long hours) 指定された時間数を加算して、このZonedDateTime
のコピーを返します。plusMinutes
(long minutes) 指定された分数を加算して、このZonedDateTime
のコピーを返します。plusMonths
(long months) 指定された月数を加算して、このZonedDateTime
のコピーを返します。plusNanos
(long nanos) 指定されたナノ秒数を加算して、このZonedDateTime
のコピーを返します。plusSeconds
(long seconds) 指定された秒数を加算して、このZonedDateTime
のコピーを返します。plusWeeks
(long weeks) 指定された週数を加算して、このZonedDateTime
のコピーを返します。plusYears
(long years) 指定された年数を加算して、このZonedDateTime
のコピーを返します。<R> R
query
(TemporalQuery<R> query) 指定された問合せを使用してこの日付/時間を問い合わせます。range
(TemporalField field) 指定されたフィールドの有効な値の範囲を取得します。この日付/時間のLocalDate
部分を取得します。この日付/時間のLocalDateTime
部分を取得します。この日付/時間のLocalTime
部分を取得します。この日付/時間をOffsetDateTime
に変換します。toString()
この日付/時間をString
として出力します(2007-12-03T10:15:30+01:00[Europe/Paris]
など)。truncatedTo
(TemporalUnit unit) 時間が切り捨てられた、このZonedDateTime
のコピーを返します。long
until
(Temporal endExclusive, TemporalUnit unit) もう一方の日付/時間までの時間量を指定された単位で計算します。with
(TemporalAdjuster adjuster) この日付/時間の調整済のコピーを返します。with
(TemporalField field, long newValue) 指定されたフィールドを新しい値に設定して、この日付/時間のコピーを返します。withDayOfMonth
(int dayOfMonth) 日の値を変更して、このZonedDateTime
のコピーを返します。withDayOfYear
(int dayOfYear) 「年の日」を変更して、このZonedDateTime
のコピーを返します。ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの早い方に変更して、この日付/時間のコピーを返します。ゾーンIDをオフセットに設定して、この日付/時間のコピーを返します。withHour
(int hour) 時の値を変更して、このZonedDateTime
のコピーを返します。ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの遅い方に変更して、この日付/時間のコピーを返します。withMinute
(int minute) 分の値を変更して、このZonedDateTime
のコピーを返します。withMonth
(int month) 月の値を変更して、このZonedDateTime
のコピーを返します。withNano
(int nanoOfSecond) ナノ秒の値を変更して、このZonedDateTime
のコピーを返します。withSecond
(int second) 秒の値を変更して、このZonedDateTime
のコピーを返します。withYear
(int year) 年の値を変更して、このZonedDateTime
のコピーを返します。withZoneSameInstant
(ZoneId zone) インスタントを保持したまま、別のタイムゾーンを使ってこの日付/時間のコピーを返します。withZoneSameLocal
(ZoneId zone) 可能であればローカル日付/時間を保持したまま、別のタイムゾーンを使って、この日付/時間のコピーを返します。インタフェース java.time.chrono.ChronoZonedDateTimeで宣言されたメソッド
compareTo, getChronology, isAfter, isBefore, isEqual, toEpochSecond, toInstant
-
メソッドの詳細
-
now
public static ZonedDateTime now()デフォルトのタイムゾーンのシステム・クロックから現在の日付/時間を取得します。これは、デフォルトのタイムゾーンの
システム・クロック
を問い合せて、現在の日付/時間を取得します。 ゾーンおよびオフセットは、そのクロックのタイムゾーンに基づいて設定されます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- 戻り値:
- システム・クロックを使用する現在の日付/時間。null以外
-
now
public static ZonedDateTime now(ZoneId zone) 指定されたタイムゾーンのシステム・クロックから現在の日付/時間を取得します。これは、
システム・クロック
を問い合せて現在の日付/時間を取得します。 タイムゾーンを指定すると、デフォルトのタイムゾーンへの依存を避けられます。 オフセットは、指定されたタイムゾーンから計算されます。このメソッドを使用すると、クロックがハードコードされているため、テストに代替のクロックを使用できないようにします。
- パラメータ:
zone
- 使用するゾーンID、null以外- 戻り値:
- システム・クロックを使用する現在の日付/時間。null以外
-
now
public static ZonedDateTime now(Clock clock) 指定されたクロックから現在の日付/時間を取得します。これは、指定されたクロックを問い合せて現在の日付/時間を取得します。 ゾーンおよびオフセットは、そのクロックのタイムゾーンに基づいて設定されます。
このメソッドを使用すると、テストに代替のクロックを使用できます。 代替のクロックは
dependency injection
を使用して導入できます。- パラメータ:
clock
- 使用するクロック、null以外- 戻り値:
- 現在の日付/時間。null以外
-
of
public static ZonedDateTime of(LocalDate date, LocalTime time, ZoneId zone) ローカルの日付と時間からZonedDateTime
のインスタンスを取得します。これは、入力のローカル日付と時間にできるかぎり一致する、ゾーン付き日付/時間を作成します。 夏時間などのタイムゾーンのルールでは、指定されたゾーンで、すべてのローカル日付/時間が有効であるとは限らないことを意味するため、ローカル日付/時間が調整されることがあります。
最初に、ローカル日付と時間が組み合わされてローカル日付/時間が形成されます。 次に、ローカル日付/時間は時系列上の単一インスタントに解決されます。 これは、ゾーンIDの
rules
によって定義されているとおりに、ローカル日付/時間のUTC/グリニッジ標準時からの有効なオフセットを見つけることによって、実現されます。ほとんどの場合に、ローカル日付/時間の有効なオフセットは1つだけです。 重複の場合は、クロックが後方向に戻されたときに、2つの有効なオフセットが存在します。 このメソッドは、一般に「夏」に対応する早い方のオフセットを使用します。
ギャップの場合は、クロックが前方向にジャンプしたときに、有効なオフセットが存在しません。 代わりに、ローカル日付/時間がギャップの長さだけ後ろに調整されます。 一般的な1時間の夏時間の変更では、ローカル日付/時間が、一般に「夏」に対応するオフセットの中の1時間後方に移動されます。
- パラメータ:
date
- ローカル日付。null以外time
- ローカル時間。null以外zone
- タイムゾーン、null以外- 戻り値:
- オフセット日付/時間。null以外
-
of
public static ZonedDateTime of(LocalDateTime localDateTime, ZoneId zone) ローカル日付/時間からZonedDateTime
のインスタンスを取得します。これは、入力のローカル日付/時間にできるかぎり一致する、ゾーン付き日付/時間を作成します。 夏時間などのタイムゾーンのルールでは、指定されたゾーンで、すべてのローカル日付/時間が有効であるとは限らないことを意味するため、ローカル日付/時間が調整されることがあります。
ローカル日付/時間は時系列上の単一のインスタントに解決されます。 これは、ゾーンIDの
rules
によって定義されているとおりに、ローカル日付/時間のUTC/グリニッジ標準時からの有効なオフセットを見つけることによって、実現されます。ほとんどの場合に、ローカル日付/時間の有効なオフセットは1つだけです。 重複の場合は、クロックが後方向に戻されたときに、2つの有効なオフセットが存在します。 このメソッドは、一般に「夏」に対応する早い方のオフセットを使用します。
ギャップの場合は、クロックが前方向にジャンプしたときに、有効なオフセットが存在しません。 代わりに、ローカル日付/時間がギャップの長さだけ後ろに調整されます。 一般的な1時間の夏時間の変更では、ローカル日付/時間が、一般に「夏」に対応するオフセットの中の1時間後方に移動されます。
- パラメータ:
localDateTime
- ローカル日付/時間、nullでないzone
- タイムゾーン、null以外- 戻り値:
- ゾーン付きの日付/時間、null以外
-
of
public static ZonedDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone) 年、月、日、時、分、秒、ナノ秒、およびタイムゾーンからZonedDateTime
のインスタンスを取得します。これは、指定された7フィールドのローカル日付/時間にできるかぎり一致する、ゾーン付き日付/時間を作成します。 夏時間などのタイムゾーンのルールでは、指定されたゾーンで、すべてのローカル日付/時間が有効であるとは限らないことを意味するため、ローカル日付/時間が調整されることがあります。
ローカル日付/時間は時系列上の単一のインスタントに解決されます。 これは、ゾーンIDの
rules
によって定義されているとおりに、ローカル日付/時間のUTC/グリニッジ標準時からの有効なオフセットを見つけることによって、実現されます。ほとんどの場合に、ローカル日付/時間の有効なオフセットは1つだけです。 重複の場合は、クロックが後方向に戻されたときに、2つの有効なオフセットが存在します。 このメソッドは、一般に「夏」に対応する早い方のオフセットを使用します。
ギャップの場合は、クロックが前方向にジャンプしたときに、有効なオフセットが存在しません。 代わりに、ローカル日付/時間がギャップの長さだけ後ろに調整されます。 一般的な1時間の夏時間の変更では、ローカル日付/時間が、一般に「夏」に対応するオフセットの中の1時間後方に移動されます。
このメソッドは、主としてテスト・ケースを作成するために存在しています。 テスト・コード以外では通常、別のメソッドを使ってオフセット時間を作成します。
LocalDateTime
には、より少ない引数を取る、同等のファクトリ・メソッドの簡易バリアントが他に5つあります。 APIのサイズを減らすため、それらについてはここでは説明しません。- パラメータ:
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,999zone
- タイムゾーン、null以外- 戻り値:
- オフセット日付/時間。null以外
- 例外:
DateTimeException
- いずれかのフィールドの値が範囲外である場合、または「月の日」が年の月に対して無効である場合
-
ofLocal
public static ZonedDateTime ofLocal(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset) 可能であれば優先オフセットを使用して、ローカル日付/時間からZonedDateTime
のインスタンスを取得します。ローカル日付/時間は時系列上の単一のインスタントに解決されます。 これは、ゾーンIDの
rules
によって定義されているとおりに、ローカル日付/時間のUTC/グリニッジ標準時からの有効なオフセットを見つけることによって、実現されます。ほとんどの場合に、ローカル日付/時間の有効なオフセットは1つだけです。 重複がある場合、クロックが設定し直され、2つの有効なオフセットが存在します。 優先されるオフセットが有効なオフセットの1つである場合は、それが使用されます。 それ以外の場合は、先の有効なオフセットが使用されます(一般的に夏に対応)。
ギャップがある場合、クロックは前方にジャンプし、有効なオフセットが存在しません。 代わりに、ローカル日付/時間がギャップの長さだけ後ろに調整されます。 一般的な1時間の夏時間の変更では、ローカル日付/時間が、一般に「夏」に対応するオフセットの中の1時間後方に移動されます。
- パラメータ:
localDateTime
- ローカル日付/時間、nullでないzone
- タイムゾーン、null以外preferredOffset
- ゾーン・オフセット、優先がない場合はnull- 戻り値:
- ゾーン付きの日付/時間、null以外
-
ofInstant
public static ZonedDateTime ofInstant(Instant instant, ZoneId zone) Instant
からZonedDateTime
のインスタンスを取得します。これは、指定されたものと同じインスタントでゾーン付き日付/時間を作成します。
ChronoZonedDateTime.toInstant()
を呼び出すと、ここで使用されるものと同等のインスタントが返されます。インスタントをゾーン付き日付/時間に変換することは単純です。インスタントごとに有効なオフセットは1つだけ存在するためです。
- パラメータ:
instant
- 日付/時間の作成元のインスタント、null以外zone
- タイムゾーン、null以外- 戻り値:
- ゾーン付きの日付/時間、null以外
- 例外:
DateTimeException
- 結果がサポートされている範囲を超える場合
-
ofInstant
public static ZonedDateTime ofInstant(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone) ローカル日付/時間とオフセットを組み合せることで形成されるインスタントからZonedDateTime
のインスタンスを取得します。これは、
LocalDateTime
とZoneOffset
を組み合わせることで
ゾーン付き日付/時間を作成します。 この組合せはインスタントをあいまいさなしに一意に指定します。インスタントをゾーン付き日付/時間に変換することは単純です。インスタントごとに有効なオフセットは1つだけ存在するためです。 有効なオフセットと指定されたオフセットが異なる場合、ゾーン付き日付/時間の日付/時間とオフセットは指定されたものと異なってきます。
使用される
ZoneId
がZoneOffset
の場合、このメソッドはof(LocalDateTime, ZoneId)
と同等です。- パラメータ:
localDateTime
- ローカル日付/時間、nullでないoffset
- ゾーンオフセット。null以外zone
- タイムゾーン、null以外- 戻り値:
- ゾーン付きの日付/時間、null以外
-
ofStrict
public static ZonedDateTime ofStrict(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone) ローカル日付/時間、オフセット、およびゾーンIDの組合せを厳密に検証して、ZonedDateTime
のインスタンスを取得します。これは、指定されたゾーンのルールに従ってオフセットがローカル日付/時間にとって有効であることを保証する、ゾーン付き日付/時間を作成します。 オフセットが無効の場合は、例外がスローされます。
- パラメータ:
localDateTime
- ローカル日付/時間、nullでないoffset
- ゾーンオフセット。null以外zone
- タイムゾーン、null以外- 戻り値:
- ゾーン付きの日付/時間、null以外
- 例外:
DateTimeException
- 引数の組み合わせが無効な場合
-
from
public static ZonedDateTime from(TemporalAccessor temporal) 時間的オブジェクトからZonedDateTime
のインスタンスを取得します。これは、指定された時間的オブジェクトに基づいてゾーン付き日付/時間を取得します。
TemporalAccessor
は日付および時間情報の任意のセットを表し、このファクトリはこれをZonedDateTime
のインスタンスに変換します。変換では、まず時間的オブジェクトから
ZoneId
を取得し、必要に応じて、ZoneOffset
を使用します。 それから、Instant
を取得しようとします(必要に応じてLocalDateTime
に戻ります)。 結果は、ZoneId
またはZoneOffset
と、Instant
またはLocalDateTime
の組合せになります。 実装では、関連オブジェクトと同等のそれらのフィールドにアクセスするなどの最適化を実行することが許可されます。このメソッドは関数型インタフェース
TemporalQuery
のシグネチャに一致するため、メソッド参照ZonedDateTime::from
を介して、問合せとして使用できます。- パラメータ:
temporal
- 変換する一時オブジェクト、null以外- 戻り値:
- ゾーン付きの日付/時間、null以外
- 例外:
DateTimeException
-ZonedDateTime
に変換できない場合- 関連項目:
-
parse
public static ZonedDateTime parse(CharSequence text) 2007-12-03T10:15:30+01:00[Europe/Paris]
などのテキスト文字列からZonedDateTime
のインスタンスを取得します。この文字列は有効な日付/時間を表す必要があり、
DateTimeFormatter.ISO_ZONED_DATE_TIME
を使用して解析されます。- パラメータ:
text
- 解析するテキスト(「2007-12-03T10:15:30+01:00[Europe/Paris]」など)、nullでない- 戻り値:
- 解析されたゾーン付き日付/時間、nullでない
- 例外:
DateTimeParseException
- テキストが解析できない場合
-
parse
public static ZonedDateTime parse(CharSequence text, DateTimeFormatter formatter) 特定のフォーマッタを使用して、テキスト文字列からZonedDateTime
のインスタンスを取得します。そのテキストがフォーマッタを使って解析され、日付/時間が返されます。
- パラメータ:
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
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
INSTANT_SECONDS
OFFSET_SECONDS
ChronoField
インスタンスはfalseを返します。フィールドが
ChronoField
でない場合、このメソッドの結果は、this
を引数として渡してTemporalField.isSupportedBy(TemporalAccessor)
を呼び出すことによって取得します。 フィールドがサポートされているかどうかはフィールドによって決定します。- 定義:
isSupported
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
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
DAYS
WEEKS
MONTHS
YEARS
DECADES
CENTURIES
MILLENNIA
ERAS
ChronoUnit
インスタンスはfalseを返します。単位が
ChronoUnit
でない場合、このメソッドの結果は、this
を引数として渡してTemporalUnit.isSupportedBy(Temporal)
を呼び出すことによって取得します。 単位がサポートされているかどうかは単位によって決定します。- 定義:
isSupported
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
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
、EPOCH_DAY
、PROLEPTIC_MONTH
およびINSTANT_SECONDS
を除いて、この日時に基づいて有効な値を返します。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)
を呼び出すことにより取得されます。 値を取得できるかどうか、および値が何を表すかは、フィールドによって決まります。- 定義:
getLong
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
TemporalAccessor
のgetLong
- パラメータ:
field
- 取得するフィールド、null以外- 戻り値:
- フィールドの値
- 例外:
DateTimeException
- フィールドの値を取得できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
getOffset
public ZoneOffset getOffset()「+01:00」などのゾーン・オフセットを取得します。これはUTC/グリニッジからのローカル日付/時間のオフセットです。
- 定義:
getOffset
、インタフェースChronoZonedDateTime<LocalDate>
- 戻り値:
- ゾーン・オフセット、null以外
-
withEarlierOffsetAtOverlap
public ZonedDateTime withEarlierOffsetAtOverlap()ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの早い方に変更して、この日付/時間のコピーを返します。このメソッドは、秋の夏時間の切換え時など、ローカル時系列の重複時にのみ何らかの影響があります。 このシナリオでは、ローカル日付/時間に2つの有効なオフセットがあります。 このメソッドを呼び出すと、2つのうちの早い方が選択されて、ゾーン付きの日付/時間を返します。
このメソッドが、重複していない場合に呼び出された場合、
this
が返されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
withEarlierOffsetAtOverlap
、インタフェースChronoZonedDateTime<LocalDate>
- 戻り値:
- 先のオフセットでこの日付/時間に基づく
ZonedDateTime
、nullでない
-
withLaterOffsetAtOverlap
public ZonedDateTime withLaterOffsetAtOverlap()ゾーン・オフセットを、ローカル時系列のオーバーラップ時における2つの有効なオフセットのうちの遅い方に変更して、この日付/時間のコピーを返します。このメソッドは、秋の夏時間の切換え時など、ローカル時系列の重複時にのみ何らかの影響があります。 このシナリオでは、ローカル日付/時間に2つの有効なオフセットがあります。 このメソッドを呼び出すと、2つのうちの遅い方が選択されて、ゾーン付きの日付/時間を返します。
このメソッドが、重複していない場合に呼び出された場合、
this
が返されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
withLaterOffsetAtOverlap
、インタフェースChronoZonedDateTime<LocalDate>
- 戻り値:
- 後のオフセットでこの日付/時間に基づく
ZonedDateTime
、nullでない
-
getZone
public ZoneId getZone()Europe/Parisなど、タイムゾーンを取得します。これはゾーンIDを返します。 これは、UTC/グリニッジからのオフセットがいつどのように変化するかについて判定する、タイムゾーン・
ルール
を識別します。ゾーンIDはオフセットと同じ場合があります。 これが真の場合、タイムゾーン・ルールによって、今後の計算(加算や減算など)で複雑なエッジ・ケースがなくなります。
withFixedOffsetZone()
も参照してください。- 定義:
getZone
、インタフェースChronoZonedDateTime<LocalDate>
- 戻り値:
- タイムゾーン、nullでない
-
withZoneSameLocal
public ZonedDateTime withZoneSameLocal(ZoneId zone) 可能であればローカル日付/時間を保持したまま、別のタイムゾーンを使って、この日付/時間のコピーを返します。このメソッドはタイムゾーンを変更し、ローカル日付/時間を保持します。 ローカル日付/時間は、新しいゾーンで無効な場合にのみ変更され、
ofLocal(LocalDateTime, ZoneId, ZoneOffset)
と同じ方法を使用して決定されます。ソーンを変更し、ローカル日付/時間を調整するには、
withZoneSameInstant(ZoneId)
を使用します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
withZoneSameLocal
、インタフェースChronoZonedDateTime<LocalDate>
- パラメータ:
zone
- 変更先のタイムゾーン、null以外- 戻り値:
- 要求されたゾーンでこの日付/時間に基づく
ZonedDateTime
、nullでない
-
withZoneSameInstant
public ZonedDateTime withZoneSameInstant(ZoneId zone) インスタントを保持したまま、別のタイムゾーンを使ってこの日付/時間のコピーを返します。このメソッドはタイムゾーンを変更し、インスタントを保持します。 これは通常ローカル日付/時間に変更されます。
このメソッドは、同じインスタントを保持することに基づくため、ローカル時系列のギャップと重複は結果に影響しません。
ローカル時間を維持しながら、オフセットを変更するには、
withZoneSameLocal(ZoneId)
を使用します。- 定義:
withZoneSameInstant
、インタフェースChronoZonedDateTime<LocalDate>
- パラメータ:
zone
- 変更先のタイムゾーン、null以外- 戻り値:
- 要求されたゾーンでこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
withFixedOffsetZone
public ZonedDateTime withFixedOffsetZone()ゾーンIDをオフセットに設定して、この日付/時間のコピーを返します。これは、ゾーンIDが
getOffset()
と同じゾーン付き日付/時間を返します。 結果のローカル日付/時間、オフセットおよびインスタントは、この日付/時間でのものと同じになります。日付/時間を固定された単一オフセットに設定することは、今後の計算(加算や減算など)でタイムゾーン・ルールによる複雑なエッジ・ケースがないことを意味します。 これは、ほとんどのプロトコル(ISO-8601など)が地域ベース・ゾーンIDを処理せずオフセットのみを処理するため、ゾーン付き日付/時間をネットワーク経由で送信するときに役立つこともあります。
これは
ZonedDateTime.of(zdt.toLocalDateTime(), zdt.getOffset())
と同等です。- 戻り値:
- ゾーンIDがオフセットに設定された
ZonedDateTime
、nullでない
-
toLocalDateTime
public LocalDateTime toLocalDateTime()この日付/時間のLocalDateTime
部分を取得します。これは、この日付/時間と同じ年、月、日、および時間を使って
LocalDateTime
を返します。- 定義:
toLocalDateTime
、インタフェースChronoZonedDateTime<LocalDate>
- 戻り値:
- この日付/時間のローカル日付/時間部分、null以外
-
toLocalDate
public LocalDate toLocalDate()この日付/時間のLocalDate
部分を取得します。これは、この日付/時間と同じ年、月、および日を使って
LocalDate
を返します。- 定義:
toLocalDate
、インタフェースChronoZonedDateTime<LocalDate>
- 戻り値:
- 日付/時間の日付部分、null以外
-
getYear
public int getYear()年フィールドを取得します。このメソッドは、年を表すプリミティブな
int
値を返します。このメソッドで返される年は、
get(YEAR)
のように予期的なものです。 紀元年を取得するには、get(YEAR_OF_ERA)
を使用します。- 戻り値:
- 年。MIN_YEARからMAX_YEARまで
-
getMonthValue
public int getMonthValue()月フィールドを取得します(1-12)。このメソッドは、月を1-12の
int
として返します。getMonth()
を呼び出すことで列挙型Month
が使用される場合は、アプリケーション・コードがより明確になることが多くなります。- 戻り値:
- 月(1-12)
- 関連項目:
-
getMonth
public Month getMonth()列挙型Month
を使用して、月フィールドを取得します。このメソッドは、月を表す列挙型
Month
を返します。 これによって、int
値が意味する内容に関する混乱を回避できます。 プリミティブなint
値にアクセスする必要がある場合、この列挙型はint値
を提供します。- 戻り値:
- 月。null以外
- 関連項目:
-
getDayOfMonth
public int getDayOfMonth()「月の日」フィールドを取得します。このメソッドは、「月の日」を表すプリミティブな
int
値を返します。- 戻り値:
- 「月の日」(1-31)
-
getDayOfYear
public int getDayOfYear()「年の日」フィールドを取得します。このメソッドは、「年の日」を表すプリミティブな
int
値を返します。- 戻り値:
- 「年の日」。1-365または1-366(うるう年の場合)
-
getDayOfWeek
public DayOfWeek getDayOfWeek()列挙型DayOfWeek
である曜日フィールドを取得します。このメソッドは、曜日を表す列挙型
DayOfWeek
を返します。 これによって、int
値が意味する内容に関する混乱を回避できます。 プリミティブなint
値にアクセスする必要がある場合、この列挙型はint値
を提供します。DayOfWeek
からは追加情報を取得できます。 具体的には、それらの値のテキスト名などがあります。- 戻り値:
- 曜日、null以外
-
toLocalTime
public LocalTime toLocalTime()この日付/時間のLocalTime
部分を取得します。これは、この日付/時間と同じ時、分、秒、およびナノ秒を使って
LocalTime
を返します。- 定義:
toLocalTime
、インタフェースChronoZonedDateTime<LocalDate>
- 戻り値:
- 日付/時間の時間部分、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 ZonedDateTime with(TemporalAdjuster adjuster) この日付/時間の調整済のコピーを返します。これは、この日付/時間に基づく
ZonedDateTime
を、日付/時間が調整された状態で返します。 調整は、指定されたアジャスタ戦略オブジェクトを使用して行われます。 どのような調整が行われるかを理解するには、アジャスタのドキュメントを参照してください。単純なアジャスタは、年フィールドなどの1つのフィールドだけを設定するなどです。 複雑なアジャスタは、日付を月の最後の日に設定するなどです。 一般的な調整の選択は、
TemporalAdjusters
で指定します。 これらには、「月の最後の日」や「次の水曜日」を見つけることが含まれます。 主要な日付/時間クラス(Month
やMonthDay
など)も、TemporalAdjuster
インタフェースを実装します。 アジャスタは、さまざまな長さの月やうるう年などの特別なケースの処理を担当します。たとえば、このコードでは7月の最後の日の日付を返します。
import static java.time.Month.*; import static java.time.temporal.TemporalAdjusters.*; result = zonedDateTime.with(JULY).with(lastDayOfMonth());
クラス
LocalDate
およびLocalTime
はTemporalAdjuster
を実装するため、このメソッドを使用すると、日付、時間、またはオフセットを変更できます。result = zonedDateTime.with(date); result = zonedDateTime.with(time);
ZoneOffset
もTemporalAdjuster
を実装しますが、これを引数として使用しても一般的に効果はありません。ZonedDateTime
のオフセットは主にタイムゾーンによって制御されます。 つまり、オフセットを変更することは一般的に意味を持ちません。ローカル日付/時間およびゾーンにとって有効なオフセットは1つだけであるためです。 ゾーン付き日付/時間がサマー・タイム重複内の場合、オフセットは2つの有効オフセットを切り替えるために使用されます。 他のすべてのケースで、オフセットは無視されます。このメソッドの結果は、指定されたアジャスタで
this
を引数として渡してTemporalAdjuster.adjustInto(Temporal)
メソッドを呼び出すことによって取得されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
with
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
Temporal
のwith
- パラメータ:
adjuster
- 使用するアジャスタ、null以外- 戻り値:
これ
に基づくZonedDateTime
(調整済)、nullでない- 例外:
DateTimeException
- 調整ができない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
with
public ZonedDateTime with(TemporalField field, long newValue) 指定されたフィールドを新しい値に設定して、この日付/時間のコピーを返します。これは、この日付/時間に基づく
ZonedDateTime
を、指定されたフィールドの値が変更された状態で返します。 これを使用すると、年、月、「月の日」などのサポートされているフィールドを変更できます。 値を設定できない場合は、フィールドがサポートされていないか他の理由のために、例外がスローされます。場合によっては、指定されたフィールドを変更すると、結果となる日付/時間が無効になることがあります(1月31日の月を2月に変更すると、「月の日」が無効になるなど)。 このような場合、そのフィールドは日付の解決を行います。 通常は1つ前の有効な日付が選択され、この例の場合は2月の最後の有効な日になります。
フィールドが
ChronoField
の場合は、調整はここで実装されます。INSTANT_SECONDS
フィールドは、指定されたインスタントを使って日付/時間を返します。 ゾーンと「1秒のうちのナノ秒」は変更されません。 結果は、新しいインスタントおよび元のゾーンから派生するオフセットを持ちます。 新しいインスタント値が有効な範囲外にある場合は、DateTimeException
がスローされます。OFFSET_SECONDS
フィールドは一般的に無視されます。ZonedDateTime
のオフセットは主にタイムゾーンによって制御されます。 つまり、オフセットを変更することは一般的に意味を持ちません。ローカル日付/時間およびゾーンにとって有効なオフセットは1つだけであるためです。 ゾーン付き日付/時間がサマー・タイム重複内の場合、オフセットは2つの有効オフセットを切り替えるために使用されます。 他のすべてのケースで、オフセットは無視されます。 新しいオフセット値が有効な範囲外にある場合は、DateTimeException
がスローされます。その他の
サポートされているフィールド
は、LocalDateTime
上の一致するメソッドのとおりに動作します。 ゾーンは計算に含まれず、変更されません。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。他のすべての
ChronoField
インスタンスはUnsupportedTemporalTypeException
をスローします。フィールドが
ChronoField
ではない場合、このメソッドの結果は、this
を引数として渡してTemporalField.adjustInto(Temporal, long)
を呼び出すことによって取得されます。 この場合、インスタントを調整するかどうかおよびどのように調整するかはフィールドによって決まります。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
with
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
Temporal
のwith
- パラメータ:
field
- 結果に設定するフィールド、null以外newValue
- 結果のフィールドの新しい値- 戻り値:
this
に基づくZonedDateTime
(指定されたフィールドが設定された状態)、nullでない- 例外:
DateTimeException
- フィールドを設定できない場合UnsupportedTemporalTypeException
- フィールドがサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
withYear
public ZonedDateTime withYear(int year) 年の値を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の
年を変更します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
year
- 結果に設定される年(MIN_YEARからMAX_YEARまで)- 戻り値:
- 要求された年でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 年の値が無効である場合
-
withMonth
public ZonedDateTime withMonth(int month) 月の値を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の
月を変更します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
month
- 結果に設定される月。1(1月)-12(12月)- 戻り値:
- 要求された月でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 月の値が無効である場合
-
withDayOfMonth
public ZonedDateTime withDayOfMonth(int dayOfMonth) 日の値を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の
月の日を変更します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
dayOfMonth
- 結果に設定される「月の日」。1から28-31まで- 戻り値:
- 要求された日でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 「月の日」の値が無効である場合、または「月の日」がその月-年に対して無効である場合
-
withDayOfYear
public ZonedDateTime withDayOfYear(int dayOfYear) 「年の日」を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の
年の日を変更します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
dayOfYear
- 結果に設定される「年の日」。1から365-366まで- 戻り値:
- 要求された日でこの日付に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 「年の日」の値が無効である場合、または「年の日」がその年に対して無効である場合
-
withHour
public ZonedDateTime withHour(int hour) 時の値を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の時間を変更します。 これはそれから、オフセットを取得するためのゾーンIDを使用して、
ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hour
- 結果に設定される時(0-23)- 戻り値:
- 要求された時でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 時の値が無効である場合
-
withMinute
public ZonedDateTime withMinute(int minute) 分の値を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の時間を変更します。 これはそれから、オフセットを取得するためのゾーンIDを使用して、
ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minute
- 結果に設定される分(0-59)- 戻り値:
- 要求された分でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 分の値が無効である場合
-
withSecond
public ZonedDateTime withSecond(int second) 秒の値を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の時間を変更します。 これはそれから、オフセットを取得するためのゾーンIDを使用して、
ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
second
- 結果に設定される秒(0-59)- 戻り値:
- 要求された秒でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 秒の値が無効である場合
-
withNano
public ZonedDateTime withNano(int nanoOfSecond) ナノ秒の値を変更して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間の時間を変更します。 これはそれから、オフセットを取得するためのゾーンIDを使用して、
ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanoOfSecond
- 結果に設定されるナノ秒(0-999,999,999)- 戻り値:
- 要求されたナノ秒でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- ナノ秒の値が無効である場合
-
truncatedTo
public ZonedDateTime truncatedTo(TemporalUnit unit) 時間が切り捨てられた、このZonedDateTime
のコピーを返します。切り詰めでは、指定された単位よりも小さいフィールドをゼロに設定して、元の日付/時間のコピーを返します。 たとえば、
分
単位で切り詰めると、秒およびナノ秒フィールドはゼロに設定されます。単位は、標準日の長さを余りなしで等分するデュレーションを持つ必要があります。 これには、
ChronoUnit
とDAYS
で提供されるすべての時間単位が含まれます。 他の単位は例外をスローします。これは、ローカル時系列に対して作用し、基礎となるローカル日付/時間を
切り捨てます
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
unit
- 切り捨てを行う単位、nullでない- 戻り値:
- 時間が切り捨てられた状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 切り捨てられない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合
-
plus
public ZonedDateTime plus(TemporalAmount amountToAdd) 指定された量を加算した、この日付/時間のコピーを返します。これは、指定された量が加算された状態でこの日付/時間に基づく
ZonedDateTime
を返します。 この量は通常Period
またはDuration
ですが、TemporalAmount
インタフェースを実装する他のどの型であってもかまいません。計算は、
TemporalAmount.addTo(Temporal)
を呼び出すことによって量オブジェクトに委譲されます。 量実装は加算を任意の方法で自由に実装できますが、通常はplus(long, TemporalUnit)
にコールバックします。 正常に加算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
plus
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
Temporal
のplus
- パラメータ:
amountToAdd
- 加算する量、nullでない- 戻り値:
- 加算が実行された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 加算できない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
plus
public ZonedDateTime plus(long amountToAdd, TemporalUnit unit) 指定された量を加算した、この日付/時間のコピーを返します。これは、単位に基づく量が加算された状態でこの日付/時間に基づく
ZonedDateTime
を返します。 量を加算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。フィールドが
ChronoUnit
の場合は、加算はここで実装されます。 ゾーンは計算には含まれず、結果で変更されません。 日付および時間の単位のための計算は異なります。日付単位はローカル時系列に対して作用します。 最初に期間がローカル日付/時間に加算されてから、ゾーンIDを使用してゾーン付き日付/時間に戻されます。 変換は、加算前にオフセット付きの
ofLocal(LocalDateTime, ZoneId, ZoneOffset)
を使用します。時間単位はインスタント時系列に対して作用します。 最初に期間がローカル日付/時間に加算されてから、ゾーンIDを使用してゾーン付き日付/時間に戻されます。 変換は、加算前にオフセット付きの
ofInstant(LocalDateTime, ZoneOffset, ZoneId)
を使用します。フィールドが
ChronoUnit
でない場合、このメソッドの結果は、this
を引数として渡してTemporalUnit.addTo(Temporal, long)
を呼び出すことによって取得されます。 この場合、加算を実行するかどうかおよびどのように実行するかは単位によって決まります。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
plus
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
Temporal
のplus
- パラメータ:
amountToAdd
- 結果に加算する単位の量、負も可unit
- 加算する量の単位、nullでない- 戻り値:
- 指定された量が加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 加算できない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
plusYears
public ZonedDateTime plusYears(long years) 指定された年数を加算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
年を加算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
years
- 加算する年数。負の値の場合もある- 戻り値:
- 年を加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
plusMonths
public ZonedDateTime plusMonths(long months) 指定された月数を加算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
月を加算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
months
- 加算する月数。負の値の場合もある- 戻り値:
- 月が加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
plusWeeks
public ZonedDateTime plusWeeks(long weeks) 指定された週数を加算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
週を加算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
weeks
- 加算する週数。負の値の場合もある- 戻り値:
- 週が加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
plusDays
public ZonedDateTime plusDays(long days) 指定された日数を加算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
日を加算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
days
- 加算する日数。負の値の場合もある- 戻り値:
- 日が加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
plusHours
public ZonedDateTime plusHours(long hours) 指定された時間数を加算して、このZonedDateTime
のコピーを返します。これは、1時間の加算が常に1時間後のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1時間でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なるため、1日の加算は24時間の加算と同じではないことに注意してください。
たとえば、'Europe/Paris'のようなタイムゾーンを考えてみましょう。ここで、秋のDSTカットオーバーは、ローカル時間02:00〜02:59が夏のオフセット+02:00から冬の+01:00に2回変化することを意味します。
- 1時間を01:30+02:00に追加すると、02:30+02:00となります。(両方とも夏時間)
- 02:30+02:00に1時間を追加すると、02:30+01:00になります。(夏時間から冬時間に移動)
- 02:30+01:00に1時間を追加すると、03:30+01:00になります。(両方とも冬時間)
- 01:30+02:00に3時間を追加すると、03:30+01:00になります。(夏時間から冬時間に移動)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hours
- 加算する時間数。負の値の場合もある- 戻り値:
- 時が加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
plusMinutes
public ZonedDateTime plusMinutes(long minutes) 指定された分数を加算して、このZonedDateTime
のコピーを返します。これは、1分間の加算が常に1分間後のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1分間でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なることに注意してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minutes
- 加算する分数。負の値の場合もある- 戻り値:
- 分を加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
plusSeconds
public ZonedDateTime plusSeconds(long seconds) 指定された秒数を加算して、このZonedDateTime
のコピーを返します。これは、1秒の加算が常に1秒後のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1秒でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なることに注意してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
seconds
- 加算する秒数。負の値の場合もある- 戻り値:
- 秒が加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
plusNanos
public ZonedDateTime plusNanos(long nanos) 指定されたナノ秒数を加算して、このZonedDateTime
のコピーを返します。これは、1ナノ秒の加算が常に1ナノ秒後のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1ナノ秒でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なることに注意してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanos
- 加算するナノ秒数。負の値の場合もある- 戻り値:
- ナノ秒が加算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minus
public ZonedDateTime minus(TemporalAmount amountToSubtract) 指定された量を減算した、この日付/時間のコピーを返します。これは、指定された量が減算された状態でこの日付/時間に基づく
ZonedDateTime
を返します。 この量は通常Period
またはDuration
ですが、TemporalAmount
インタフェースを実装する他のどの型であってもかまいません。計算は、
TemporalAmount.subtractFrom(Temporal)
を呼び出すことによって量オブジェクトに委譲されます。 量実装は減算を任意の方法で自由に実装できますが、通常はminus(long, TemporalUnit)
にコールバックします。 正常に減算できるかどうかを判断するには、量実装のドキュメントを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
minus
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
Temporal
のminus
- パラメータ:
amountToSubtract
- 減算する量、nullでない- 戻り値:
- 減算が実行された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 減算ができない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
minus
public ZonedDateTime minus(long amountToSubtract, TemporalUnit unit) 指定された量を減算した、この日付/時間のコピーを返します。これは、単位に基づく量が減算された状態でこの日付/時間に基づく
ZonedDateTime
を返します。 量を減算できない場合、単位がサポートされていないか他の理由のために、例外がスローされます。日付および時間の単位のための計算は異なります。
日付単位はローカル時系列に対して作用します。 最初に期間がローカル日付/時間から減算されてから、ゾーンIDを使用してゾーン付き日付/時間に戻されます。 変換は、減算前にオフセット付きの
ofLocal(LocalDateTime, ZoneId, ZoneOffset)
を使用します。時間単位はインスタント時系列に対して作用します。 最初に期間がローカル日付/時間から減算されてから、ゾーンIDを使用してゾーン付き日付/時間に戻されます。 変換は、減算前にオフセット付きの
ofInstant(LocalDateTime, ZoneOffset, ZoneId)
を使用します。このメソッドは、量を符号反転した
plus(long, TemporalUnit)
と同等です。 加算および減算がどのように行われるかについての詳しい説明は、そのメソッドを参照してください。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
minus
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
Temporal
のminus
- パラメータ:
amountToSubtract
- 結果から減算する単位の量、負も可unit
- 減算する量の単位、nullでない- 戻り値:
- 指定された量が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 減算ができない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
minusYears
public ZonedDateTime minusYears(long years) 指定された年数を減算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
年を減算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
years
- 減算する年数。負の値の場合もある- 戻り値:
- 年が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minusMonths
public ZonedDateTime minusMonths(long months) 指定された月数を減算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
月を減算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
months
- 減算する月数。負の値の場合もある- 戻り値:
- 月が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minusWeeks
public ZonedDateTime minusWeeks(long weeks) 指定された週数を減算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
週を減算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
weeks
- 減算する週数。負の値の場合もある- 戻り値:
- 週が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minusDays
public ZonedDateTime minusDays(long days) 指定された日数を減算して、このZonedDateTime
のコピーを返します。これは、ローカル時系列に対して作用し、ローカル日付/時間に
日を減算します
。 これはそれから、オフセットを取得するためのゾーンIDを使用して、ZonedDateTime
に戻されます。ZonedDateTime
に戻したときに、ローカル日付/時間が重複内の場合は、オフセットは可能な場合は保持され、それ以外の場合は先のオフセットが使用されます。 ギャップ内の場合は、ローカル日付/時間がギャップの長さ分前方に調整されます。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
days
- 減算する日数。負の値の場合もある- 戻り値:
- 日が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minusHours
public ZonedDateTime minusHours(long hours) 指定された時間数を減算して、このZonedDateTime
のコピーを返します。これは、1時間の減算が常に1時間前のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1時間でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なるため、1日の減算は24時間の加算と同じではないことに注意してください。
たとえば、'Europe/Paris'のようなタイムゾーンを考えてみましょう。ここで、秋のDSTカットオーバーは、ローカル時間02:00〜02:59が夏のオフセット+02:00から冬の+01:00に2回変化することを意味します。
- 03:30+01:00から1時間を引くと、02:30+01:00となります。(両方とも冬時間)
- 02:30+01:00から1時間を引いた場合、02:30+02:00となります。(冬時間から夏時間に移動)
- 02:30+02:00から1時間を引くと、01:30+02:00となります。(両方とも夏時間)
- 03:30+01:00から3時間を引くと、01:30+02:00となります。(冬時間から夏時間に移動)
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
hours
- 減算する時間数。負の値の場合もある- 戻り値:
- 時が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minusMinutes
public ZonedDateTime minusMinutes(long minutes) 指定された分数を減算して、このZonedDateTime
のコピーを返します。これは、1分の減算が常に1分間前のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1分間でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なることに注意してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
minutes
- 減算する分数。負の値の場合もある- 戻り値:
- 分が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minusSeconds
public ZonedDateTime minusSeconds(long seconds) 指定された秒数を減算して、このZonedDateTime
のコピーを返します。これは、1秒の減算が常に1秒前のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1秒でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なることに注意してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
seconds
- 減算する秒数。負の値の場合もある- 戻り値:
- 秒が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
minusNanos
public ZonedDateTime minusNanos(long nanos) 指定されたナノ秒数を減算して、このZonedDateTime
のコピーを返します。これは、1ナノ秒の減算が常に1ナノ秒前のデュレーションになるように、インスタント時系列に対して作用します。 これにより、ローカル日付/時間が1ナノ秒でない量分変わる場合があります。 この方法は日、月および年で使用される方法とは異なることに注意してください。
このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- パラメータ:
nanos
- 減算するナノ秒数。負の値の場合もある- 戻り値:
- ナノ秒が減算された状態でこの日付/時間に基づく
ZonedDateTime
、nullでない - 例外:
DateTimeException
- 結果がサポートされている日付範囲を超える場合
-
query
public <R> R query(TemporalQuery<R> query) 指定された問合せを使用してこの日付/時間を問い合わせます。これは指定された問合せ方法オブジェクトを使用してこの日付/時間を問い合わせます。
TemporalQuery
オブジェクトは結果を取得するために使用するロジックを定義します。 このメソッドの結果を理解するには、問合せのドキュメントをお読みください。このメソッドの結果は、
this
を引数として渡して、指定した問合せでTemporalQuery.queryFrom(TemporalAccessor)
メソッドを呼び出すことによって取得します。- 定義:
query
、インタフェースChronoZonedDateTime<LocalDate>
- 定義:
- インタフェース
TemporalAccessor
のquery
- 型パラメータ:
R
- 結果の型- パラメータ:
query
- 呼び出す問合せ、null以外- 戻り値:
- 問合せ結果、nullが返されることがある(問合せによって定義される)
- 例外:
DateTimeException
- 問い合わせできない場合(問合せによって定義される)ArithmeticException
- 数値のオーバーフローが発生した場合(問合せによって定義される)
-
until
public long until(Temporal endExclusive, TemporalUnit unit) もう一方の日付/時間までの時間量を指定された単位で計算します。これは、1つの
TemporalUnit
に基づいて2つのZonedDateTime
オブジェクト間の時間量を計算します。 始点と終点は、これ
と指定された日付/時間です。 終了が開始より前である場合、結果は負になります。 たとえば、2つの日付/時間の間の日数は、startDateTime.until(endDateTime, DAYS)
を使用して計算できます。このメソッドに渡された
Temporal
は、from(TemporalAccessor)
を使用してZonedDateTime
に変換されます。 タイムゾーンが2つのゾーン付き日付/時間の間で異なる場合、指定された終了日付/時間がこの日付/時間と同じゾーンを持つように正規化されます。この計算では、2つの日付/時間の間の完全な単位の数を表す整数を返します。 たとえば、2012-06-15T00:00Zと2012-08-14T23:59Zの間の月数は、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
値は例外をスローします。日付および時間の単位のための計算は異なります。
日付単位はローカル日付/時間を使用して、ローカル時系列に対して作用します。 たとえば、1日の正午から次の日の正午までの期間(日数)は、サマー・タイムの変更があったかどうかに関係なく、常に正確に1日としてカウントされます。
時間単位はインスタント時系列に対して作用します。 計算は、実際には両方のゾーン付き日付/時間をインスタントに変換してから、インスタント間の期間を計算します。 たとえば、1日の正午から次の日の正午までの期間(時数)は、サマー・タイムの変更があったかどうかに応じて、23、24または25時間(あるいはなんらかの他の量)になります。
単位が
ChronoUnit
でない場合、このメソッドの結果は、this
を1つ目の引数として、変換される入力temporal (一時)を2つ目の引数として渡してTemporalUnit.between(Temporal, Temporal)
を呼び出すことによって取得します。このインスタンスは不変で、このメソッド呼び出しによって影響を受けません。
- 定義:
- インタフェース
Temporal
のuntil
- パラメータ:
endExclusive
- 終了日(この日を含まない)、ZonedDateTime
に変換される、nullでないunit
- 量を測定する単位、null以外- 戻り値:
- この日付/時間から終了日付/時間までの時間量
- 例外:
DateTimeException
- 量を計算できない場合、または終了時間的オブジェクトをZonedDateTime
に変換できない場合UnsupportedTemporalTypeException
- 単位がサポートされていない場合ArithmeticException
- 数値のオーバーフローが発生した場合
-
format
public String format(DateTimeFormatter formatter) 指定されたフォーマッタを使用してこの日付/時間を書式設定します。この日付/時間はフォーマッタに渡され、文字列が生成されます。
- 定義:
format
、インタフェースChronoZonedDateTime<LocalDate>
- パラメータ:
formatter
- 使用するフォーマッタ、null以外- 戻り値:
- 書式設定済の日付/時間文字列、null以外
- 例外:
DateTimeException
- 出力時にエラーが発生した場合
-
toOffsetDateTime
public OffsetDateTime toOffsetDateTime()この日付/時間をOffsetDateTime
に変換します。これは、ローカル日付/時間とオフセットを使用してオフセット日付/時間を作成します。 ゾーンIDは無視されます。
- 戻り値:
- 同じローカル日付/時間およびオフセットを表すオフセット日付/時間、nullでない
-
equals
public boolean equals(Object obj) この日付/時間が別の日付/時間と等しいかどうかをチェックします。比較はオフセットの日付/時間とゾーンに基づきます。
ZonedDateTime
型のオブジェクトのみが比較され、それ以外の型はfalseを返します。- 定義:
equals
、インタフェースChronoZonedDateTime<LocalDate>
- オーバーライド:
equals
、クラスObject
- パラメータ:
obj
- チェックするオブジェクト、nullはfalseを返す- 戻り値:
- これが他の日付/時間と等しい場合はtrue
- 関連項目:
-
hashCode
public int hashCode()この日付/時間のハッシュ・コード。- 定義:
hashCode
、インタフェースChronoZonedDateTime<LocalDate>
- オーバーライド:
hashCode
、クラスObject
- 戻り値:
- 適切なハッシュ・コード
- 関連項目:
-
toString
public String toString()この日付/時間をString
として出力します(2007-12-03T10:15:30+01:00[Europe/Paris]
など)。フォーマットは
LocalDateTime
とそれに続くZoneOffset
で構成されます。ZoneId
がオフセットと同じでない場合は、IDが出力されます。 オフセットとIDが同じ場合は、出力はISO-8601と互換性があります。- 定義:
toString
、インタフェースChronoZonedDateTime<LocalDate>
- オーバーライド:
toString
、クラスObject
- 戻り値:
- この日付/時間の文字列表現、null以外
-