TimeZoneNames 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
TimeZoneNames 是一個抽象類別,代表由 UTS#35 Unicode 區域資料標記語言(LDML)定義的時區顯示名稱資料模型。
[Android.Runtime.Register("android/icu/text/TimeZoneNames", ApiSince=24, DoNotGenerateAcw=true)]
public abstract class TimeZoneNames : Java.Lang.Object, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("android/icu/text/TimeZoneNames", ApiSince=24, DoNotGenerateAcw=true)>]
type TimeZoneNames = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
TimeZoneNames 是一個抽象類別,代表由 UTS#35 Unicode 區域資料標記語言(LDML)定義的時區顯示名稱資料模型。 該模型定義了元區域,用於儲存一組顯示名稱。 一個元區域可以被多個時區共享。 同時,一個時區可能有多個元區域的歷史地圖。
例如,美國 的人稱北美東部使用的區域為「東部時間」。 tz 資料庫包含多個時區,如「America/New_York」、「America/Detroit」、「America/Montreal」以及其他屬於「東部時間」的時區。 然而,對大多數人來說,為這些時區分配不同的顯示名稱並不太合理。
在 CLDR (使用 LDML 表示地點資料)中,顯示名稱「Eastern Time」會儲存為以 ID 「America_Eastern」標示的元區域的長通用顯示名稱。 接著,還有另一個表格維護每個時區對元區域的歷史映射。 上述例子中的時區(「America/New_York」、「America/底特律」......)被映射到元區域「America_Eastern」。
有時候,時區會被映射到過去不同的時區。 例如,「America/Indiana/Knox」一直在「東部時間」和「中部時間」之間來回移動。 因此,時區到元區域的映射資料必須依日期範圍儲存。
<b>註:</b>
TimeZoneFormat 假設 的 TimeZoneNames 實例是不變的。 如果你想提供自己的 TimeZoneNames 實作並使用它 TimeZoneFormat,你必須遵守合約。
這類方法假設時區 ID 已經被標準化。 例如,你可能無法用時區 ID 為「America/Indiana/Indianapolis」的方法回傳正確結果,因為該時區的標準時區 ID 是「America/Indianapolis」。 可以參考 TimeZone#getCanonicalID(String) 加護病房的標準時區識別碼。
在 CLDR 中,除了地點名稱外,大多數時區顯示名稱都是透過元區域提供。 但某個時區可能有特定名稱,且不與其他時區共享。
例如,時區「Europe/London」在英語中對標準時間「Greenwich 標準時間」的長稱,這也與其他時區相同。 然而,夏令時間的長稱是「英國夏令時間」,僅用於「歐洲/倫敦」這一詞。
#getTimeZoneDisplayName(String, NameType) 設計用來存取僅在單一時區使用的名稱。 但這不一定代表子類別實作會用相同的模型搭配 CLDR。 子類別實作可能僅 #getTimeZoneDisplayName(String, NameType)透過 ,或僅 #getMetaZoneDisplayName(String, NameType)透過 ,或兩者兼具。
TimeZoneNames預設實作 會#getInstance(ULocale)使用 CLDR 匯入的 locale 資料。 在 CLDR 中,元區域 ID 集合及區域 ID 與元區域 ID 之間的映射會被所有地點共享。 因此,無論使用哪個地點來取得 的實例,、 的行為#getAvailableMetaZoneIDs()#getAvailableMetaZoneIDs(String)#getMetaZoneID(String, long)#getReferenceZoneID(String, String)都不會改變。TimeZoneNames
Java 文件 android.icu.text.TimeZoneNames。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| TimeZoneNames(IntPtr, JniHandleOwnership) |
|
屬性
| 名稱 | Description |
|---|---|
| AvailableMetaZoneIDs |
回傳一組不可變的 meta 區域 ID。 |
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
|
| ThresholdType |
|
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetAvailableMetaZoneIDs(String) |
回傳一組不可變的該時區可用元區域 ID。 |
| GetDisplayName(String, TimeZoneNames+NameType, Int64) |
回傳指定日期時區的顯示名稱。 |
| GetExemplarLocationName(String) |
回傳該時區的範例地點名稱。 |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetInstance(Locale) |
回傳 的 |
| GetInstance(ULocale) |
會回傳指定地點的 實 |
| GetMetaZoneDisplayName(String, TimeZoneNames+NameType) |
回傳該元區域的顯示名稱。 |
| GetMetaZoneID(String, Int64) |
回傳給定日期的標準時區 ID。 |
| GetReferenceZoneID(String, String) |
會回傳該區域的參考區域 ID。 |
| GetTimeZoneDisplayName(String, TimeZoneNames+NameType) |
回傳時區的顯示名稱。 |
| GetTZDBInstance(ULocale) |
回傳 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| 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() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |