語言

ZoneId 類別

定義

一個時區 ID,例如 Europe/Paris

[Android.Runtime.Register("java/time/ZoneId", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class ZoneId : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("java/time/ZoneId", ApiSince=26, DoNotGenerateAcw=true)>]
type ZoneId = class
    inherit Object
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
繼承
衍生
屬性
實作

備註

一個時區 ID,例如 Europe/Paris

ZoneId A 用來表示在 a InstantLocalDateTime之間轉換的規則。 ID 有兩種不同類型:ul<li 固定偏移量——一種完全解析的 UTC/Greenwich 偏移量,對所有當地日期時間>使用 li<地理區域——此區域適用特定規則以尋找 UTC/Greenwich >偏移量 /ul<。大多數固定偏移量以 >表示。<>ZoneOffset 呼叫 #normalized() 任意 ZoneId 將確保固定偏移 ID 會被表示為 ZoneOffset

實際規則,描述偏移量何時及如何變化,定義為 ZoneRules。 這個類別只是用來取得底層規則的 ID。 採用此方法是因為規則由政府定義且經常變動,而 ID 則是穩定的。

這種區分還有其他影響。 序列化 ZoneId 只會傳送 ID,而序列化規則則傳送整個資料集。 同樣地,兩個 ID 的比較僅檢視 ID,而兩個規則的比較則檢視整個資料集。

<h2>時區 ID/<h2> 該 ID 在系統中是唯一的。 身分證有三種類型。

最簡單的ID類型是從 的 ZoneOffset。 這包括「Z」和以「+」或「-」開頭的 ID。

第二類ID是帶有某種前綴的偏移式ID,例如「GMT+2」或「UTC+01:00」。 公認的前綴為「UTC」、「GMT」和「UT」。 偏移就是後綴,會在建立時被正規化。 這些 ID 可以正規化為 ZoneOffsetnormalized()

第三種身分證是基於地區的身分證。 區域識別碼必須為兩個或以上字元,且不得以「UTC」、「GMT」、「UT」、「+」或「-」開頭。 區域基礎的 ID 是由配置定義的。 該組態著重於從 ID 到 底層 ZoneRules的查詢。

時區規則由政府制定,且經常變動。 有多個組織,這裡稱為團體,負責監控時區變化並彙整資料。 預設群組為 IANA 時區資料庫(TZDB)。 其他組織包括航空業組織 IATA 及 Microsoft。

每個群組都為所提供的區域ID定義自己的格式。 TZDB 群組定義的識別碼為「歐洲/倫敦」或「美洲/New_York」。 TZDB ID 優先於其他群組。

強烈建議在所有非 TZDB 群組提供的 ID 中包含群組名稱,以避免衝突。 例如,IATA 航空公司的時區區域識別碼通常與三字母機場代碼相同。 然而,烏特勒支機場的代碼是「UTC」,這顯然是個衝突。 非 TZDB 群組的區域識別碼推薦格式為「group~region」。 因此,若定義IATA資料,烏特勒支機場將為「IATA~UTC」。

<h2>序列化</h2> 此類別可序列化,並以外部形式儲存字串區域 ID。 該 ZoneOffset 子類別使用專用格式,僅儲存來自UTC/格林威治的偏移量。

ZoneId A 可以在 Java 執行時進行反序列化,而 ID 未知。 例如,如果伺服器端的 Java 執行環境已更新為新的區域 ID,但客戶端的 Java 執行環境尚未更新。 在這種情況下,物件ZoneId會存在,並且可以用 、 getIdequalshashCodetoStringgetDisplayName和 來查詢。normalized 然而,任何呼叫 都會getRules失敗。ZoneRulesException 此方法設計允許ZonedDateTime在時區資訊不完整的 Java 執行環境上載入並查詢,但不進行修改。

新增於1.8版本。

Java 文件 java.time.ZoneId

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
ZoneId(IntPtr, JniHandleOwnership)

一個時區 ID,例如 Europe/Paris

屬性

名稱 Description
AvailableZoneIds

取得可用的區域 ID 集合。

Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
Id

取得獨特的時區ID。

JniIdentityHashCode

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

(繼承來源 Object)
JniManagedPeerState

一個時區 ID,例如 Europe/Paris

(繼承來源 JavaObject)
JniPeerMembers

一個時區 ID,例如 Europe/Paris

PeerReference

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

(繼承來源 Object)
Rules

取得此 ID 的時區規則,允許進行計算。

ShortIds

一個時區 ID,例如 Europe/Paris

ThresholdClass

一個時區 ID,例如 Europe/Paris

ThresholdType

一個時區 ID,例如 Europe/Paris

方法

名稱 Description
Clone()

建立並回傳此物件的副本。

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

一個時區 ID,例如 Europe/Paris

(繼承來源 JavaObject)
Dispose()

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

(繼承來源 Object)
Dispose(Boolean)

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

(繼承來源 Object)
DisposeUnlessReferenced()

一個時區 ID,例如 Europe/Paris

(繼承來源 JavaObject)
Equals(Object)

一個時區 ID,例如 Europe/Paris

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
From(ITemporalAccessor)

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

GetDisplayName(TextStyle, Locale)

取得區域的文字表示,例如「英國時間」或「+02:00」。

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Normalized()

標準化時區 ID,並在可能的情況下回傳 ZoneOffset。

Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
Of(String, IDictionary<String,String>)

利用別名映射來補充標準區域識別碼,取得 ZoneID 的實例。

Of(String)

從 ID 取得 ZoneId,確保該 ID 有效且可供使用。

OfOffset(String, ZoneOffset)

取得 ZoneId 包裹偏移量的實例。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

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

一個時區 ID,例如 Europe/Paris

(繼承來源 JavaObject)
SystemDefault()

一個時區 ID,例如 Europe/Paris

ToArray<T>()

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

(繼承來源 Object)
ToString()

回傳物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

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

(繼承來源 Object)
Wait()

導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。

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

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)
Wait(Int64)

會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

一個時區 ID,例如 Europe/Paris

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

一個時區 ID,例如 Europe/Paris

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

一個時區 ID,例如 Europe/Paris

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

一個時區 ID,例如 Europe/Paris

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

一個時區 ID,例如 Europe/Paris

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

一個時區 ID,例如 Europe/Paris

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

一個時區 ID,例如 Europe/Paris

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

一個時區 ID,例如 Europe/Paris

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用於