語言

ZonedDateTime.With 方法

定義

多載

名稱 Description
With(ITemporalField, Int64)

回傳一份將指定欄位設定為新值的日期-時間副本。

With(ITemporalAdjuster)

回傳經過調整的日期副本。

With(ITemporalField, Int64)

回傳一份將指定欄位設定為新值的日期-時間副本。

[Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalField;J)Ljava/time/ZonedDateTime;", "", ApiSince=26)]
public Java.Time.Temporal.ITemporal? With(Java.Time.Temporal.ITemporalField? field, long newValue);
[<Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalField;J)Ljava/time/ZonedDateTime;", "", ApiSince=26)>]
abstract member With : Java.Time.Temporal.ITemporalField * int64 -> Java.Time.Temporal.ITemporal
override this.With : Java.Time.Temporal.ITemporalField * int64 -> Java.Time.Temporal.ITemporal

參數

field
ITemporalField

將欄位設入結果,而非 null

newValue
Int64

結果中場的新值

傳回

基於此設定的 ZonedDateTime,並設定指定欄位,而非 null

屬性

備註

回傳一份將指定欄位設定為新值的日期-時間副本。 此時會回傳一個基於此欄位的 ZonedDateTime,且指定欄位的值有所變動。 這可以用來更改任何支援的欄位,例如年份、月份或月份。 若無法設定該值,例如該欄位不被支援或其他原因,則會拋出例外。 在某些情況下,更改指定欄位可能導致該日期時間失效,例如將月份從1月31日改為2月會使月日無效。 在這種情況下,該領域負責決定日期。 通常會選擇先前的有效日期,也就是這個例子中二月的最後有效日期。 如果欄位是時間場,調整會在這裡實作。 INSTANT_SECONDS欄位會回傳一個日期時間,並指定時刻。 區域和秒奈米級都沒變。 結果會根據新的即時區域和原始區域產生一個偏移量。 如果新的即時值超出有效範圍,則會拋出 DateTimeException。 OFFSET_SECONDS欄位通常會被忽略。 ZonedDateTime 的偏移量主要由時區控制。 因此,改變偏移量通常沒有意義,因為當地日期、時間和區域只有一個有效的偏移量。 若分區日期時間與夏令時間重疊,則該偏移量用於在兩個有效偏移間切換。 在其他情況下,這個偏移會被忽略。 如果新的偏移值超出有效範圍,則會拋出 DateTimeException。 其他支援欄位的行為將依照 LocalDateTime 上的匹配方法。 區域不在計算範圍內,且不會改變。 轉換回 ZonedDateTime 時,若當地日期與時間重疊,則盡可能保留偏移量,否則將使用較早的偏移。 若處於空隙,當地日期-時間將向前調整為空隙長度。 其他所有 ChronoField 實例都會拋出 UnsupportedTemporalTypeException。 若欄位不是 ChronoField,則透過呼叫 TemporalField.adjustInto(Temporal, long) 並傳遞參數,取得此方法的結果。 在這種情況下,場決定是否以及如何調整瞬間。 此實例是不可變且不受此方法呼叫影響的。

Java 參考 java.time.ZonedDateTime.with

適用於

With(ITemporalAdjuster)

回傳經過調整的日期副本。

[Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/ZonedDateTime;", "", ApiSince=26)]
public Java.Time.ZonedDateTime? With(Java.Time.Temporal.ITemporalAdjuster? adjuster);
[<Android.Runtime.Register("with", "(Ljava/time/temporal/TemporalAdjuster;)Ljava/time/ZonedDateTime;", "", ApiSince=26)>]
member this.With : Java.Time.Temporal.ITemporalAdjuster -> Java.Time.ZonedDateTime

參數

adjuster
ITemporalAdjuster

理賠員使用的,而非無效的

傳回

根據此調整,ZonedDateTime,而非空

屬性

備註

回傳經過調整的日期副本。 這會回傳一個基於此資料的 ZonedDateTime,且日期時間已調整。 調整是使用指定的調整策略物件進行的。 閱讀理算師的文件,了解會做哪些調整。 簡單的理賠員可能只設定其中一個欄位,例如年份欄位。 較複雜的理賠員可能會將日期設定在月底的最後一天。 TemporalAdjusters 提供了多種常見調整選項。 這些包括尋找「本月最後一天」和「下週三」。 關鍵的日期-時間類別也實作了 TemporalAdjuster 介面,如 Month 和 MonthDay。 理賠專員負責處理特殊情況,例如不同長度的月份和閏年。 例如,此程式碼回傳七月最後一天的日期:類別 LocalDate 與 LocalTime 實作 TemporalAdjuster,因此此方法可用於更改日期、時間或偏移量:ZoneOffset 也實作 TemporalAdjuster,但將其作為參數通常無效。 ZonedDateTime 的偏移量主要由時區控制。 因此,改變偏移量通常沒有意義,因為當地日期、時間和區域只有一個有效的偏移量。 若分區日期時間與夏令時間重疊,則該偏移量用於在兩個有效偏移間切換。 在其他情況下,這個偏移會被忽略。 此方法的結果是透過在指定的調整器上呼叫 TemporalAdjuster.adjustInto(Temporal) 方法,將此方法作為參數來取得。 此實例是不可變且不受此方法呼叫影響的。

Java 參考 java.time.ZonedDateTime.with

適用於