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
- 派生
- 属性
- 实现
注解
用于组织和标识日期的日历系统。
main日期和时间 API 基于 ISO 日历系统构建。 年表在后台运行,以表示日历系统的一般概念。 例如,日本、明国、泰国佛教等。
大多数其他日历系统也基于年、月和日的共同概念运行,这些概念与围绕太阳的地球周期和围绕地球的月亮有关。 这些共享概念由 ChronoField
定义,可供任何 Chronology
实现使用:
LocalDate isoDate = ...
ThaiBuddhistDate thaiDate = ...
int isoYear = isoDate.get(ChronoField.YEAR);
int thaiYear = thaiDate.get(ChronoField.YEAR);
如图所示,尽管日期对象位于不同的日历系统中(由不同的 Chronology
实例表示),但两者都可以使用 上的 ChronoField
同一常量进行查询。 有关其含义的完整讨论,请参阅 ChronoLocalDate
。 一般情况下,建议使用已知的基于 LocalDate
ISO 的 ,而不是 ChronoLocalDate
。
Chronology
虽然 对象通常使用 ChronoField
并基于日期的纪元、纪元年、年月、月日模型,但这不是必需的。 Chronology
实例可能表示完全不同的日历系统,例如 Mayan。
实际上, Chronology
实例还充当工厂。 方法 #of(String)
允许按标识符查找实例,而 #ofLocale(Locale)
方法允许按区域设置查找。
实例 Chronology
提供一组用于创建 ChronoLocalDate
实例的方法。 日期类用于操作特定日期。 <ul><li>#dateNow() dateNow()
<li><#dateNow(Clock) dateNow(clock)
li li>#dateNow(ZoneId) dateNow(zone)
><<#date(int, int, int) date(yearProleptic, month, day)
li li#date(Era, int, int, int) date(era, yearOfEra, month, day)
<>li li<#dateYearDay(int, int) dateYearDay(yearProleptic, dayOfYear)
>li<>#dateYearDay(Era, int, int) dateYearDay(era, yearOfEra, dayOfYear)
li>#date(TemporalAccessor) date(TemporalAccessor)
</ul>
<h2 id=“addcalendars”>添加新日历</h2> 应用程序可以扩展可用年表集。 添加新日历系统需要编写 、 ChronoLocalDate
和 Era
的Chronology
实现。 特定于日历系统的大多数逻辑将在 实现中 ChronoLocalDate
。 实现 Chronology
充当工厂。
若要允许发现其他时间顺序, java.util.ServiceLoader ServiceLoader
请使用 。 必须将名为“java.time.chrono.Chronology”的文件添加到 META-INF/services
目录中,其中列出了实现类。 有关服务加载的更多详细信息,请参阅 ServiceLoader。 对于按 id 或 calendarType 查找,首先找到系统提供的日历,然后找到应用程序提供的日历。
每个年表必须定义一个在系统中唯一的年表 ID。 如果年表表示 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) |
方法
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
用于组织和标识日期的日历系统。 |
GetJniTypeName(IJavaPeerable) |
用于组织和标识日期的日历系统。 |