語言

ZonedDateTime 類別

定義

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

[Android.Runtime.Register("java/time/ZonedDateTime", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class ZonedDateTime : Java.Lang.Object, IDisposable, Java.IO.ISerializable, Java.Time.Chrono.IChronoZonedDateTime
[<Android.Runtime.Register("java/time/ZonedDateTime", ApiSince=26, DoNotGenerateAcw=true)>]
type ZonedDateTime = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IChronoZonedDateTime
    interface IComparable
    interface ITemporal
    interface ITemporalAccessor
繼承
ZonedDateTime
屬性
實作

備註

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

ZonedDateTime 是帶有時區的日期時間的不可變表示。 此類別儲存所有日期與時間欄位,精確度為奈秒,並有一個時區,並以區域偏移處理模糊的本地日期時間。 例如,「2007年10月2日 13:45.30.123456789 +02:00 歐洲/巴黎時區」這個值可以儲存在一個 ZonedDateTime

此類別處理從 的 LocalDateTime 局部時間軸轉換到 的 Instant即時時間軸。 兩條時間線的差異是從UTC/格林威治的偏移量,以一個 ZoneOffset表示。

在兩個時間軸間轉換時,需利用從 中取得ZoneRules rules的 計算ZoneId偏移量。 取得一個瞬間的偏移量很簡單,因為每個瞬間恰好有一個有效的偏移量。 相較之下,取得當地約會時間的抵銷並不容易。 有三種情況: <ul><li>normal,其中一種有效抵銷。 在一年中的絕大多數時間裡,適用正常情況,即當地日期時間有一個有效的偏移。</li><li Gap>,且無有效偏移量。 這通常是因為春季夏令時間從「冬季」轉為「夏季」而時鐘跳動。 在空隙中存在當地的日期-時間值,且沒有有效的偏移量。</li><li>重疊,有兩個有效偏移量。 這通常是因為秋季夏令時間從「夏季」改為「冬季」而將時鐘調回。 在重疊中,存在具有兩個有效偏移量的本地日期-時間值。</li></ul>

任何直接或隱式地將本地日期時間轉換為瞬間並取得偏移量的方法,都有可能變得複雜。

對於 Gap,一般策略是,如果當地日期時間落在 Gap 的中間,則所產生的分區日期時間會將當地日期時間往前移,時間會隨著 Gap 的長度往前移動,導致日期時間位於較晚的偏移,通常是「夏季」時間。

對於重疊,一般策略是若當地日期時間落在重疊的中間,則保留先前的偏移量。 如果之前沒有偏移,或之前的偏移無效,則會使用較早的偏移,通常是「夏季」時間。 另外兩種方法, #withEarlierOffsetAtOverlap() 以及 #withLaterOffsetAtOverlap(),有助於處理重疊的情況。

從設計角度來看,這個類別主要應該被視為 a LocalDateTimeZoneIda 的結合。 這是一個 ZoneOffset 重要但次要的資訊,用來確保這堂課能代表瞬間,尤其是在夏令時間重疊期間。

新增於1.8版本。

java.time.ZonedDateTimeJava 檔。

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

屬性

名稱 Description
Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
DayOfMonth

會得到月份的日期欄位。

DayOfWeek

會得到星期幾欄位,這是一個星期幾的星期。

DayOfYear

會拿到年份欄位。

Handle

底層 Android 實例的帳號。

(繼承來源 Object)
Hour

負責一天的時段。

JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
JniPeerMembers

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

Minute

他能進入每小時的場地。

Month

使用 Month enum 取得 month of year 欄位。

MonthValue

可以取得月份和年份欄位,範圍從1到12。

Nano

能得到秒奈米的場。

Offset

取得區域偏移,例如「+01:00」。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
Second

獲得第二分鐘的場地。

ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

(繼承來源 Object)
ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

(繼承來源 Object)
Year

會拿到年份欄位。

Zone

會拿到時區,例如「歐洲/巴黎」。

方法

名稱 Description
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
CompareTo(Object)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

Construct(JniObjectReference, JniObjectReferenceOptions)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
Equals(Object)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
Format(DateTimeFormatter)

使用指定的格式化器來格式化這個日期時間。

From(ITemporalAccessor)

從一個時間物件取得 ZonedDateTime 的實例。

Get(ITemporalField)

從此日期-時間取得指定欄位的值,作為整數值。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetLong(ITemporalField)

從此日期時間取得指定欄位的值,作為長。

IsSupported(ITemporalField)

檢查指定欄位是否支援。

IsSupported(ITemporalUnit)

檢查指定單位是否支援。

JavaFinalize()
已淘汰.

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Minus(Int64, ITemporalUnit)

回傳一份該日期時間的副本,並扣除指定金額。

Minus(ITemporalAmount)

回傳一份該日期時間的副本,並扣除指定金額。

MinusDays(Int64)

回傳一份 ZonedDateTime 的副本,並扣除指定的天數。

MinusHours(Int64)

回傳一份 ZonedDateTime 的副本,並扣除指定的工時數。

MinusMinutes(Int64)

回傳一份 ZonedDateTime 的副本,並扣除指定的分鐘數。

MinusMonths(Int64)

回傳一份 ZonedDateTime 的副本,並扣除指定的月份數。

MinusNanos(Int64)

回傳一份 ZonedDateTime 的副本,並扣除指定的奈秒數。

MinusSeconds(Int64)

回傳一份 ZonedDateTime 的副本,並扣除指定的秒數。

MinusWeeks(Int64)

回傳一份 ZonedDateTime 的副本,並扣除指定的週數。

MinusYears(Int64)

回傳一份已減去指定年數的 ZonedDateTime 副本。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Now()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

Now(Clock)

從指定的時鐘取得當前日期時間。

Now(ZoneId)

從指定時區的系統時鐘取得當前日期時間。

Of(Int32, Int32, Int32, Int32, Int32, Int32, Int32, ZoneId)

從年份、月份、日、小時、分鐘、秒、奈秒及時區取得 ZonedDateTime 的實例。

Of(LocalDate, LocalTime, ZoneId)

從當地日期和時間取得 ZonedDateTime 的實例。

Of(LocalDateTime, ZoneId)

從本地日期時間取得 ZonedDateTime 的實例。

OfInstant(Instant, ZoneId)

從瞬間取得 ZonedDateTime 的實例。

OfInstant(LocalDateTime, ZoneOffset, ZoneId)

從結合當地日期時間與偏移量形成的瞬間,取得 ZonedDateTime 的實例。

OfLocal(LocalDateTime, ZoneId, ZoneOffset)

盡可能從本地日期時間取得 ZonedDateTime 的實例,並使用偏好的偏移量。

OfStrict(LocalDateTime, ZoneOffset, ZoneId)

取得一個 ZonedDateTime 實例,嚴格驗證本地日期時間、偏移量與區域 ID 的組合。

Parse(ICharSequence, DateTimeFormatter)

使用特定格式化器從文字串取得 ZonedDateTime 的實例。

Parse(ICharSequence)

可從文字串(如 2007-12-03T10:15:30+01:00[Europe/Paris])取得 ZonedDateTime 實例。

Parse(String, DateTimeFormatter)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

Parse(String)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

Plus(Int64, ITemporalUnit)

回傳一份日期時間的副本,並加上指定的金額。

Plus(ITemporalAmount)

回傳一份日期時間的副本,並加上指定的金額。

PlusDays(Int64)

回傳一份包含指定天數的 ZonedDateTime 副本。

PlusHours(Int64)

回傳一份包含指定工時數的 ZonedDateTime 副本。

PlusMinutes(Int64)

回傳一份包含指定分鐘數的 ZonedDateTime 副本。

PlusMonths(Int64)

回傳一份包含指定月份數的 ZonedDateTime 副本。

PlusNanos(Int64)

回傳一份包含指定奈秒數的 ZonedDateTime 副本。

PlusSeconds(Int64)

回傳一份包含指定秒數的 ZonedDateTime 副本。

PlusWeeks(Int64)

回傳一份包含指定週數的 ZonedDateTime 副本。

PlusYears(Int64)

回傳一份包含指定年數的 ZonedDateTime 副本。

Query(ITemporalQuery)

在此日期點使用指定的查詢進行查詢。

Range(ITemporalField)

取得指定欄位的有效值範圍。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToLocalDate()

會收到這個約會時間裡的 LocalDate 部分。

ToLocalDateTime()

會取得這個日期時間的 LocalDateTime 部分。

ToLocalTime()

他會聽到這個日期時間的 LocalTime 部分。

ToOffsetDateTime()

將此日期時間轉換為 OffsetDateTime。

ToString()

傳回物件的字串表示。

(繼承來源 Object)
TruncatedTo(ITemporalUnit)

回傳一份時間被截斷的 ZonedDateTime 副本。

UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
Until(ITemporal, ITemporalUnit)

以指定單位計算到下一個日期時間的時間。

Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
With(ITemporalAdjuster)

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

With(ITemporalField, Int64)

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

WithDayOfMonth(Int32)

回傳一份ZonedDateTime的副本,但月份日期已更改。

WithDayOfYear(Int32)

回傳一份已更改年份日期的 ZonedDateTime 副本。

WithEarlierOffsetAtOverlap()

回傳此日期與時間的副本,將區域偏移量改為兩個有效偏移量中較早者,且在當地時間線重疊處。

WithFixedOffsetZone()

回傳一份將區域 ID 設為偏移的日期時間副本。

WithHour(Int32)

回傳一份ZonedDateTime的副本,並更改了整點。

WithLaterOffsetAtOverlap()

回傳一份日期時間的副本,將區域偏移量改為兩個有效偏移量中較晚的一個,且在當地時間線重疊。

WithMinute(Int32)

回傳一份ZonedDateTime的副本,並更改了整點的分鐘。

WithMonth(Int32)

回傳一份已更改年份月份的 ZonedDateTime 副本。

WithNano(Int32)

回傳一份ZonedDateTime的副本,並改變了每一秒的奈米。

WithSecond(Int32)

回傳一份ZonedDateTime的副本,並修改了秒一分鐘。

WithYear(Int32)

回傳一份已更改年份的 ZonedDateTime 副本。

WithZoneSameInstant(ZoneId)

回傳一份帶有不同時區的日期時間副本,但保留即時時間。

WithZoneSameLocal(ZoneId)

回傳該日期時間的副本,但時區不同,若可能仍保留當地日期時間。

明確介面實作

名稱 Description
IChronoZonedDateTime.Plus(Int64, ITemporalUnit)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

IChronoZonedDateTime.ToLocalDateTime()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

IChronoZonedDateTime.With(ITemporalField, Int64)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

IChronoZonedDateTime.WithEarlierOffsetAtOverlap()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

IChronoZonedDateTime.WithLaterOffsetAtOverlap()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

IChronoZonedDateTime.WithZoneSameInstant(ZoneId)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

IChronoZonedDateTime.WithZoneSameLocal(ZoneId)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

IJavaPeerable.Disposed()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

在 ISO-8601 日曆系統中,帶有時區的日期時間,例如 2007-12-03T10:15:30+01:00 Europe/Paris

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於