Share via


IChronology 介面

定義

用來組織和識別日期的行事曆系統。

[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 行事曆系統為基礎所建置。 chronology 會在幕後運作,以代表行事曆系統的一般概念。 例如,日文、Minguo、泰文泰文等等。

其他大部分的行事曆系統也會在年、月和日共用概念上運作,並連結到地球周圍的地球週期,以及地球周圍的月球。 這些共用概念是由 所定義 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實例可能代表完全不同的行事曆系統類型,例如 Mayan。

實際上, Chronology 實例也會做為處理站。 方法 #of(String) 可讓實例依識別碼查閱,而 #ofLocale(Locale) 方法允許依地區設定查閱。

Chronology實例提供一組方法來建立 ChronoLocalDate 實例。 日期類別是用來操作特定日期。 <>#dateNow() dateNow()< ul >< li >#dateNow(Clock) dateNow(clock)< li >#date(int, int, int) date(yearProleptic, month, day)<<#dateNow(ZoneId) dateNow(zone)#date(Era, int, int, int) date(era, yearOfEra, month, day)#dateYearDay(int, int) dateYearDay(yearProleptic, dayOfYear)><><> li #dateYearDay(Era, int, int) dateYearDay(era, yearOfEra, dayOfYear)<><>#date(TemporalAccessor) date(TemporalAccessor) /ul>

<h2 id=「addcalendars」 > 新增行事曆 < /h2 > 應用程式可以擴充一組可用的計時。 新增行事曆系統需要撰寫 、 ChronoLocalDateEra 的實作 Chronology 。 行事曆系統特定的大部分邏輯都會在實作中 ChronoLocalDate 。 實作 Chronology 可作為處理站。

若要允許探索其他計時, java.util.ServiceLoader ServiceLoader 則會使用 。 檔案必須新增至目錄, META-INF/services 名稱為 'java.time.chrono.Chronology',其中列出實作類別。 如需服務載入的詳細資訊,請參閱 ServiceLoader。 如需依識別碼或 calendarType 查閱,系統會先找到提供的行事曆,後面接著應用程式提供的行事曆。

每個 chronology 都必須定義系統內唯一的 chronology 識別碼。 如果 chronology 代表 CLDR 規格所定義的行事曆系統,則行事曆類型是 CLDR 類型的串連,如果適用,則 CLDR 變體。

已在 1.8 中新增。

java.time.chrono.Chronology JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

屬性

AvailableChronologies

傳回可用的計時。

CalendarType

用來組織和識別日期的行事曆系統。

Handle

取得基礎 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
Id

用來組織和識別日期的行事曆系統。

JniIdentityHashCode

傳回包裝實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

受控對等的狀態。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取和調用支援。

(繼承來源 IJavaPeerable)
PeerReference

JniObjectReference 回已包裝 JAVA 物件實例的 。

(繼承來源 IJavaPeerable)

方法

CompareTo(IChronology)

比較此 chronology 與另一個 chronology。

CompareTo(Object)

比較此物件與指定的物件順序。

(繼承來源 IComparable)
Date(IEra, Int32, Int32, Int32)

從紀元、年、年和月日欄位,取得此時間記錄中的當地日期。

Date(Int32, Int32, Int32)

從 proic-year、month-of-year 和 day-of-month 欄位取得此 chronology 中的本機日期。

Date(ITemporalAccessor)

從另一個時態物件取得這個時間範圍中的本機日期。

DateEpochDay(Int64)

從 epoch-day 取得此 chronology 中的本機日期。

DateNow()

從預設時區的系統時鐘,取得這個時間範圍中的目前本地日期。

DateNow(Clock)

從指定的時鐘取得這個計時中的目前本機日期。

DateNow(ZoneId)

從指定時區的系統時鐘,取得這個 chronology 中的目前本地日期。

DateYearDay(IEra, Int32, Int32)

從紀元、年和年欄位取得此時間記錄中的當地日期。

DateYearDay(Int32, Int32)

從 proic-year 和 day-of-year 欄位取得此 chronology 中的當地日期。

Disposed()

在處置實例時呼叫。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有這個實例的未完成參考,則呼叫 Dispose() ,否則不會執行任何動作。

(繼承來源 IJavaPeerable)
EpochSecond(IEra, Int32, Int32, Int32, Int32, Int32, Int32, ZoneOffset)

從 1970-01-01T00:00:00Z 的 Epoch 取得秒數。

EpochSecond(Int32, Int32, Int32, Int32, Int32, Int32, ZoneOffset)

從 1970-01-01T00:00:00Z 的 Epoch 取得秒數。

Equals(Object)

檢查此 chronology 是否等於另一個 chronology。

EraOf(Int32)

從數值建立 chronology 紀元物件。

Eras()

取得 chronology 的紀元清單。

Finalized()

實例完成時呼叫。

(繼承來源 IJavaPeerable)
From(ITemporalAccessor)

從時態物件取得 的 Chronology 實例。

GetDisplayName(TextStyle, Locale)

取得這個 chronology 的文字標記法。

GetHashCode()

這個 chronology 的雜湊程式碼。

IsLeapYear(Int64)

檢查指定的年份是否為閏年。

LocalDateTime(ITemporalAccessor)

從另一個時態物件取得這個時間範圍中的本機日期時間。

Of(String)

從 chronology 識別碼或行事曆系統類型取得 的 Chronology 實例。

OfLocale(Locale)

從地區設定取得 的 Chronology 實例。

Period(Int32, Int32, Int32)

根據年、月和日,取得此計時的期間。

ProlepticYear(IEra, Int32)

根據紀元和紀元年份,計算 proic-year。

Range(ChronoField)

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

ResolveDate(IDictionary<ITemporalField,Long>, ResolverStyle)

將剖 ChronoField 析的值解析為剖析期間的日期。

SetJniIdentityHashCode(Int32)

設定 所 JniIdentityHashCode 傳回的值。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

用來組織和識別日期的行事曆系統。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

設定 所 PeerReference 傳回的值。

(繼承來源 IJavaPeerable)
ToString()

將這個時間記錄輸出為 String

UnregisterFromRuntime()

取消註冊此實例,讓執行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。

(繼承來源 IJavaPeerable)
ZonedDateTime(Instant, ZoneId)

ChronoZonedDateTimeInstant 取得這個 chronology 中的 。

ZonedDateTime(ITemporalAccessor)

ChronoZonedDateTime從另一個時態物件取得這個時間範圍中的 。

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

用來組織和識別日期的行事曆系統。

GetJniTypeName(IJavaPeerable)

用來組織和識別日期的行事曆系統。

適用於