public final class MinguoChronology extends AbstractChronology implements Serializable
这个年表对民国历法规则。这个日历系统主要是在民国时期使用的,经常被称为台湾。日期是一致的,0001-01-01 (Minguo)
是1912-01-01 (ISO)
。
字段定义如下:
Modifier and Type | Field and Description |
---|---|
static MinguoChronology |
INSTANCE
为民国纪年的一个实例。
|
Modifier and Type | Method and Description |
---|---|
MinguoDate |
date(Era era, int yearOfEra, int month, int dayOfMonth)
从时代民国日历系统的本地日期,年的时代,一年和一天的月田月。
|
MinguoDate |
date(int prolepticYear, int month, int dayOfMonth)
从预期年民国日历系统的本地日期,年、月、日月。
|
MinguoDate |
date(TemporalAccessor temporal)
从另一个时间对象在这个时间表中获得一个本地日期。
|
MinguoDate |
dateEpochDay(long epochDay)
从时代天在民国日历系统的本地日期。
|
MinguoDate |
dateNow()
在默认时区中从系统时钟中获得当前本地日期。
|
MinguoDate |
dateNow(Clock clock)
从指定的时钟中获取当前本地日期。
|
MinguoDate |
dateNow(ZoneId zone)
从指定时区中的系统时钟中获取当前本地日期。
|
MinguoDate |
dateYearDay(Era era, int yearOfEra, int dayOfYear)
从时代民国日历系统的本地日期、时代和年月日领域内。
|
MinguoDate |
dateYearDay(int prolepticYear, int dayOfYear)
从预期年日年民国历法领域系统的本地日期。
|
MinguoEra |
eraOf(int eraValue)
从数字值创建时间顺序的对象。
|
List<Era> |
eras()
获取时代列表的年代。
|
String |
getCalendarType()
获取下日历系统的日历类型“中华民国”。
|
String |
getId()
获取身份的“民国”年表。
|
boolean |
isLeapYear(long prolepticYear)
检查指定的年份是否为一个跳跃年份。
|
ChronoLocalDateTime<MinguoDate> |
localDateTime(TemporalAccessor temporal)
从另一个时间对象中获得这个时间表中的本地日期时间。
|
int |
prolepticYear(Era era, int yearOfEra)
计算给定的时代,今年预期年。
|
ValueRange |
range(ChronoField field)
获取指定字段的有效值的范围。
|
MinguoDate |
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
解决
ChronoField 值解析到日期在解析。
|
ChronoZonedDateTime<MinguoDate> |
zonedDateTime(Instant instant, ZoneId zone)
从一个
Instant 这一
ChronoZonedDateTime 年表。
|
ChronoZonedDateTime<MinguoDate> |
zonedDateTime(TemporalAccessor temporal)
得到此年表
ChronoZonedDateTime 来自另一个时空对象。
|
compareTo, equals, hashCode, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
from, getDisplayName, period
public static final MinguoChronology INSTANCE
public String getId()
ID唯一地标识Chronology
。它可以用来查找Chronology
使用AbstractChronology.of(String)
。
getId
接口
Chronology
getCalendarType()
public String getCalendarType()
日历类型标识符由Unicode现场数据定义的标记语言(LDML)规范。它可以用来查找Chronology
使用AbstractChronology.of(String)
。它也可以被用来作为一个区域的一部分,可以通过与关键的CA Locale.getUnicodeLocaleType(String)
”。
getCalendarType
接口
Chronology
getId()
public MinguoDate date(Era era, int yearOfEra, int month, int dayOfMonth)
date
接口
Chronology
era
-民国时代,不为空
yearOfEra
-时代的一年
month
-年月
dayOfMonth
-月日
DateTimeException
如果无法创建日期
ClassCastException
-如果
era
不是
MinguoEra
public MinguoDate date(int prolepticYear, int month, int dayOfMonth)
date
接口
Chronology
prolepticYear
-预期年
month
-年月
dayOfMonth
-月日
DateTimeException
如果无法创建日期
public MinguoDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
dateYearDay
接口
Chronology
era
-民国时代,不为空
yearOfEra
-时代的一年
dayOfYear
-每年的这一天
DateTimeException
如果无法创建日期
ClassCastException
-如果
era
不是
MinguoEra
public MinguoDate dateYearDay(int prolepticYear, int dayOfYear)
dateYearDay
接口
Chronology
prolepticYear
-预期年
dayOfYear
-每年的这一天
DateTimeException
如果无法创建日期
public MinguoDate dateEpochDay(long epochDay)
dateEpochDay
接口
Chronology
epochDay
时代的天
DateTimeException
如果无法创建日期
public MinguoDate dateNow()
Chronology
这将查询system clock
在默认时区获取当前日期。
使用这种方法将防止使用另一个时钟进行测试的能力,因为时钟是硬编码的。
dateNow
接口
Chronology
public MinguoDate dateNow(ZoneId zone)
Chronology
这将查询system clock
获取当前日期。指定时区避免依赖于默认时区。
使用这种方法将防止使用另一个时钟进行测试的能力,因为时钟是硬编码的。
dateNow
接口
Chronology
zone
-区ID使用,不为空
public MinguoDate dateNow(Clock clock)
Chronology
这将查询指定的时钟,以获得当前日期-今天。使用这种方法允许使用一个备用时钟进行测试。备用时钟可采用dependency injection
。
dateNow
接口
Chronology
clock
-时钟使用,不为空
public MinguoDate date(TemporalAccessor temporal)
Chronology
这获得一个日期,在此基础上指定的时间。一个TemporalAccessor
表示日期和时间信息,任意设置,本厂将以ChronoLocalDate
实例。
转换通常用EPOCH_DAY
领域,这是标准化的日历系统。
这种方法相匹配的功能接口TemporalQuery
可以通过方法引用查询的签名,aChronology::date
。
date
接口
Chronology
temporal
-转换时间的对象,不为空
ChronoLocalDate.from(TemporalAccessor)
public ChronoLocalDateTime<MinguoDate> localDateTime(TemporalAccessor temporal)
Chronology
这在这个时间根据指定的时间来获得一个日期时间。一个TemporalAccessor
表示日期和时间信息,任意设置,本厂将以ChronoLocalDateTime
实例。
转换提取物结合ChronoLocalDate
从时空对象的LocalTime
。实现允许执行优化,如访问这些字段,这些字段相当于相关对象。结果使用这个年代。
这种方法相匹配的功能接口TemporalQuery
可以通过方法引用查询的签名,aChronology::localDateTime
。
localDateTime
接口
Chronology
temporal
-转换时间的对象,不为空
ChronoLocalDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<MinguoDate> zonedDateTime(TemporalAccessor temporal)
Chronology
ChronoZonedDateTime
来自另一个时空对象。
这获得一个分区的日期时间,在此基础上指定的时间。一个TemporalAccessor
表示日期和时间信息,任意设置,本厂将以ChronoZonedDateTime
实例。
转换将首先从时态对象获得ZoneId
,回落到一个ZoneOffset
如果必要。然后它会试图获得一个Instant
,回落到ChronoLocalDateTime
如果必要。结果将是结合ZoneId
或ZoneOffset
与Instant
或ChronoLocalDateTime
。实现允许执行优化,如访问这些字段,这些字段相当于相关对象。结果使用这个年代。
这种方法相匹配的功能接口TemporalQuery
可以通过方法引用查询的签名,aChronology::zonedDateTime
。
zonedDateTime
接口
Chronology
temporal
-转换时间的对象,不为空
ChronoZonedDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<MinguoDate> zonedDateTime(Instant instant, ZoneId zone)
Chronology
Instant
这一
ChronoZonedDateTime
年表。
这获得一个分区的日期时间与指定的相同的时间。
zonedDateTime
接口
Chronology
instant
-创建日期时间的瞬间,不为空
zone
的时区,不空
public boolean isLeapYear(long prolepticYear)
民国闰年发生完全符合ISO的飞跃年线。这种方法不验证一年中通过的,并且在支持的范围内只有一个定义良好的结果。
isLeapYear
接口
Chronology
prolepticYear
-检查预期的一年,距离没有验证
public int prolepticYear(Era era, int yearOfEra)
Chronology
本文结合时代和年时代为单预期年场。
如果时间使时代的积极利用,如JapaneseChronology
然后时代的年会与时代的验证。其他的年表,验证是可选的。
prolepticYear
接口
Chronology
era
-为年表正确类型的时代,不为空
yearOfEra
-时代年表年
public MinguoEra eraOf(int eraValue)
Chronology
时代是,从概念上说,最大的划分的时间线。大多数日历系统有一个单一的时代划分的时间线分为两个时代。然而,有些人有多个时代,如一个为每个领导人的统治。确切的意义是根据以下约束条件确定的。
在使用中必须1970-01-01时代价值1。后来的时代必须有更高的价值。早期时代必须有顺序较低的价值观。每个年代必须引用枚举或类似的独生子女提供的时代价值。
此方法返回指定时代值的正确类型的单例时代。
eraOf
接口
Chronology
eraValue
的时代价值
public List<Era> eras()
Chronology
大多数日历系统都有一个时代,在这一年内有意义。如果日历系统不支持“时代”的概念,则必须返回一个空列表。
eras
接口
Chronology
public ValueRange range(ChronoField field)
Chronology
所有字段可以表示为一个long
整数。此方法返回一个对象,该对象描述该值的有效范围。
请注意,结果只描述了最小值和最大值的有效值,重要的是不要对它们进行太多的阅读。例如,可能在字段无效的范围内的值。
这种方法将返回一个结果,是否年代支持该字段。
range
接口
Chronology
field
-现场得到的范围,不为空
public MinguoDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
AbstractChronology
ChronoField
值解析到日期在解析。
最TemporalField
实现使用解决方法在现场解决。相比之下,在ChronoField
类定义,只有相对的意义领域的年表。因此,ChronoField
日期字段的解决在特定年代的语境。
ChronoField
实例都通过这种方法解决,可以在子类中重写。
EPOCH_DAY
-如果存在的话,这是转换为日期和所有其他日期字段的日期然后对交叉检查。PROLEPTIC_MONTH
-如果存在的话,那么它是分裂成YEAR
和MONTH_OF_YEAR
。如果该模式是严格的或智能的,那么该字段是验证。YEAR_OF_ERA
和ERA
-如果存在,那么它们组合起来形成一个YEAR
。在宽松的模式,YEAR_OF_ERA
范围没有验证,在智能和严格的方式是。验证范围内的所有三种模式的ERA
是。如果只有YEAR_OF_ERA
在场,和模式是聪明的还是宽松的,然后最后一个时代是假设。在严格的模式,没有时代的假设和YEAR_OF_ERA
是原封不动。如果只有ERA
是存在的,那么它是原封不动。YEAR
,MONTH_OF_YEAR
和DAY_OF_MONTH
-如果三存在,那么它们组合成一个日期。在所有三种模式,这YEAR
验证。如果模式是智能或严格的,那么这个月和一天都是有效的。如果该模式是宽松的,那么日期是相结合的方式相当于创建一个日期在第一天的第一天,在要求的一年,然后添加几个月的差异,然后在天的差异。如果模式是聪明的,一个月的一天比一年的月最高,然后一个月的一天调整到一个月的最后一天。如果模式是严格的,那么三个字段必须形成一个有效的日期。YEAR
和DAY_OF_YEAR
-如果存在,那么它们组合成一个日期。在所有三种模式,这YEAR
验证。如果模式是宽松的,那么日期以相当于创建日期的第一天的方式相结合,然后添加在天的差异。如果模式是聪明的或严格的,那么这两个字段必须形成一个有效的日期。YEAR
,MONTH_OF_YEAR
,ALIGNED_WEEK_OF_MONTH
和ALIGNED_DAY_OF_WEEK_IN_MONTH
-如果四存在,那么它们组合成一个日期。在所有三种模式,这YEAR
验证。如果该模式是宽松的,那么日期相结合的方式相当于创建一个日期在第一天的第一天,在要求的一年,然后增加了几个月的差异,然后在几周内的差异,然后在天。如果该模式是智能或严格的,那么所有的四个字段进行了验证,他们的外部范围。日期然后以一种相当于要求的一年和一个月的第一天的日期创建日期,然后在几周和几天内添加量达到他们的价值。如果模式是严格的,还验证了日期,以检查一天和一周的调整并没有改变月份。YEAR
,MONTH_OF_YEAR
,ALIGNED_WEEK_OF_MONTH
和DAY_OF_WEEK
-如果四存在,那么它们组合成一个日期。该方法是按上述年一样,在ALIGNED_DAY_OF_WEEK_IN_MONTH
月份和星期。每周一次的一天调整为下一个或相同的一周,几年,几个月和几周的时间已被处理。YEAR
,ALIGNED_WEEK_OF_YEAR
和ALIGNED_DAY_OF_WEEK_IN_YEAR
-如果三存在,那么它们组合成一个日期。在所有三种模式,这YEAR
验证。如果该模式是宽松的,那么日期是相结合的方式相当于创建一个日期的第一天,所要求的一年,然后添加在几周内的差异,然后在天。如果该模式是智能或严格的,那么所有的三个字段进行了验证,他们的外部范围。日期然后以相当于在请求的一年的第一天创建日期,然后在几周和几天内添加量达到他们的值。如果模式是严格的,还验证了日期,以检查一天和一周的调整并没有改变一年。YEAR
,ALIGNED_WEEK_OF_YEAR
和DAY_OF_WEEK
-如果三存在,那么它们组合成一个日期。方法如上所述,在ALIGNED_DAY_OF_WEEK_IN_YEAR
年周相同。每周一次的一天调整为下一个或同一个星期一次的一周,几周和几周已经处理好了。默认实现是适用于大多数日历系统。如果ChronoField.YEAR_OF_ERA
发现没有ChronoField.ERA
然后在Chronology.eras()
过去时代用。执行假设一个7天的一周,即每月的第一天有价值1,第一天的一年有价值1,而第一个月和一年总是存在。
resolveDate
接口
Chronology
resolveDate
方法重写,继承类
AbstractChronology
fieldValues
-字段值的Map,可以更新,不为空
resolverStyle
-解决请求的类型,不为空
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.