語言

ChronoField.AdjustInto(Object, Int64) 方法

定義

回傳指定時空物件的副本,並包含該欄位集合的值。

[Android.Runtime.Register("adjustInto", "(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;", "", ApiSince=26)]
[Java.Interop.JavaTypeParameters(new System.String[] { "R extends java.time.temporal.Temporal" })]
public Java.Lang.Object? AdjustInto(Java.Lang.Object? temporal, long newValue);
[<Android.Runtime.Register("adjustInto", "(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;", "", ApiSince=26)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "R extends java.time.temporal.Temporal" })>]
abstract member AdjustInto : Java.Lang.Object * int64 -> Java.Lang.Object
override this.AdjustInto : Java.Lang.Object * int64 -> Java.Lang.Object

參數

temporal
Object

調整的時間對象,而非空

newValue
Int64

場的新價值

傳回

調整後的時間物件,而非零

實作

屬性

備註

回傳指定時空物件的副本,並包含該欄位集合的值。 此時會回傳一個基於指定物件的新時空物件,且該欄位的值會有所改變。 例如,在 LocalDate 上,這可以用來設定年份、月份或月份的日期。 回傳的物件與指定的物件具有相同的可觀察型態。 在某些情況下,改變欄位的定義並不完全明確。 例如,如果目標物件是代表 1 月 31 日的日期,那麼將月份改為二月就不清楚了。 在這種情況下,實作方負責解決結果。 通常會選擇先前的有效日期,也就是這個例子中二月的最後有效日期。 使用此方法有兩種等效方式。 第一種是直接引用此方法。 第二種是使用 Temporal.with(TemporalField,長):

// these two lines are equivalent, but the second approach is recommended
temporal = thisField.adjustInto(temporal, newValue);
temporal = temporal.with(thisField, newValue);

建議採用第二種方法,with(TemporalField),因為在程式碼中閱讀起來會更清晰。 實作應使用ChronoField中可用的欄位來執行任何查詢或計算。 若欄位不被支援,必須拋出 UnsupportedTemporalTypeException。 實作不得改變指定的時間物件。 取而代之的是,必須歸還經過調整的原件副本。 這為不可變與可變實作提供等效且安全的行為。

Java 參考 java.time.temporal.ChronoField.adjustInto。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於