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 行事曆系統為基礎所建置。 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 > 應用程式可以擴充一組可用的計時。 新增行事曆系統需要撰寫 、 ChronoLocalDate
和 Era
的實作 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 |
傳回包裝實例的 |
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() |
如果沒有這個實例的未完成參考,則呼叫 |
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) |
從時態物件取得 的 |
GetDisplayName(TextStyle, Locale) |
取得這個 chronology 的文字標記法。 |
GetHashCode() |
這個 chronology 的雜湊程式碼。 |
IsLeapYear(Int64) |
檢查指定的年份是否為閏年。 |
LocalDateTime(ITemporalAccessor) |
從另一個時態物件取得這個時間範圍中的本機日期時間。 |
Of(String) |
從 chronology 識別碼或行事曆系統類型取得 的 |
OfLocale(Locale) |
從地區設定取得 的 |
Period(Int32, Int32, Int32) |
根據年、月和日,取得此計時的期間。 |
ProlepticYear(IEra, Int32) |
根據紀元和紀元年份,計算 proic-year。 |
Range(ChronoField) |
取得指定欄位的有效值範圍。 |
ResolveDate(IDictionary<ITemporalField,Long>, ResolverStyle) |
將剖 |
SetJniIdentityHashCode(Int32) |
設定 所 |
SetJniManagedPeerState(JniManagedPeerStates) |
用來組織和識別日期的行事曆系統。 (繼承來源 IJavaPeerable) |
SetPeerReference(JniObjectReference) |
設定 所 |
ToString() |
將這個時間記錄輸出為 |
UnregisterFromRuntime() |
取消註冊此實例,讓執行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。 (繼承來源 IJavaPeerable) |
ZonedDateTime(Instant, ZoneId) |
|
ZonedDateTime(ITemporalAccessor) |
|
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
用來組織和識別日期的行事曆系統。 |
GetJniTypeName(IJavaPeerable) |
用來組織和識別日期的行事曆系統。 |