IChronology 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一種用來組織和辨識日期的日曆系統。
[Android.Runtime.Register("java/time/chrono/Chronology", "", "Java.Time.Chrono.IChronologyInvoker", ApiSince=26)]
public interface IChronology : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable
[<Android.Runtime.Register("java/time/chrono/Chronology", "", "Java.Time.Chrono.IChronologyInvoker", ApiSince=26)>]
type IChronology = interface
interface IComparable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 衍生
- 屬性
- 實作
備註
一種用來組織和辨識日期的日曆系統。
主要的日期與時間 API 是建立在 ISO 日曆系統之上。 年表在幕後運作,代表曆法系統的一般概念。 例如日本人、閩國、泰國佛教等。
大多數其他曆法系統也基於年、月、日的共同概念運作,這些概念與地球繞太陽及月亮繞地球的週期相連結。 這些共享概念由以下實作定義 ChronoField ,並可供任何 Chronology 實作使用:
LocalDate isoDate = ...
ThaiBuddhistDate thaiDate = ...
int isoYear = isoDate.get(ChronoField.YEAR);
int thaiYear = thaiDate.get(ChronoField.YEAR);
如圖所示,雖然日期物件位於不同的曆法系統中,且由不同的Chronology實例表示,但兩者都可以使用相同的常數查詢。ChronoField 關於此意涵的完整討論,請參見 ChronoLocalDate。 一般建議使用已知的ISO基礎 LocalDate,而非 ChronoLocalDate。
雖然 Chronology 物件通常使用 ChronoField 且基於日期的年份、年份、月份、日期模型,但這並非必要條件。 一個 Chronology 例子可能代表完全不同的曆法系統,例如瑪雅曆法。
實際上,實 Chronology 例同時也扮演工廠的角色。 此 #of(String) 方法允許以識別碼查詢實例,而該 #ofLocale(Locale) 方法則允許依地點查詢。
實 Chronology 例提供一組建立 ChronoLocalDate 實例的方法。 日期類別用來操作特定的日期。
<烏爾><李>#dateNow() dateNow()<李>#dateNow(Clock) dateNow(clock)<李>#dateNow(ZoneId) dateNow(zone)<李>#date(int, int, int) date(yearProleptic, month, day)<李>#date(Era, int, int, int) date(era, yearOfEra, month, day)<李 李>#dateYearDay(int, int) dateYearDay(yearProleptic, dayOfYear)<李 李>#dateYearDay(Era, int, int) dateYearDay(era, yearOfEra, dayOfYear)<李 / UL>#date(TemporalAccessor) date(TemporalAccessor)<>
<h2 id=「addcalendars」>新增日曆</h2> 可用時間軸集合可透過應用程式擴充。 新增曆法系統需撰寫 、 和 ChronologyChronoLocalDate的實作Era。 大部分針對日曆系統的邏輯都會在 ChronoLocalDate 實作中。
Chronology實作就像工廠一樣。
為了方便發現更多時間順序,使用了 。java.util.ServiceLoader ServiceLoader 必須在目錄中新增 META-INF/services 一個名為 'java.time.chrono.Chronology' 的檔案,列出實作類別。 更多服務載入的細節請參見 ServiceLoader。 若以 id 或 calendarType 查詢,系統提供的日曆會先找到,接著是應用程式提供的日曆。
每個時間軸必須定義一個在系統內唯一的時間軸 ID。 若年表代表由 CLDR 規範定義的日曆系統,則日曆類型為 CLDR 類型與(如適用)CLDR 變體的串接。
新增於1.8版本。
Java 文件 java.time.chrono.Chronology。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| AvailableChronologies |
回傳可用的時間軸。 |
| CalendarType |
取得日曆系統的行事曆類型。 |
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| Id |
取得時間順序的ID。 |
| IsIsoBased |
檢查這個時間軸是否基於 ISO 的。 |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
一種用來組織和辨識日期的日曆系統。 (繼承來源 IJavaPeerable) |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一種用來組織和辨識日期的日曆系統。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |