public final class IsoChronology extends AbstractChronology implements Serializable
这个时间表定义了国际标准化组织日历系统的规则。这种历法系统是基于ISO-8601标准,这是事实上世界历。
字段定义如下:
Modifier and Type | Field and Description |
---|---|
static IsoChronology |
INSTANCE
国际标准化组织的单例实例。
|
Modifier and Type | Method and Description |
---|---|
LocalDate |
date(Era era, int yearOfEra, int month, int dayOfMonth)
从时代、时代年、年月和月的领域获得一个标准化的地方日期。
|
LocalDate |
date(int prolepticYear, int month, int dayOfMonth)
从预期年ISO本地日期,年、月、日月。
|
LocalDate |
date(TemporalAccessor temporal)
从另一个日期时间对象获得一个标准的本地日期。
|
LocalDate |
dateEpochDay(long epochDay)
获得来自时代的一个国际标准日。
|
LocalDate |
dateNow()
在默认时区中从系统时钟中获得当前的本地日期。
|
LocalDate |
dateNow(Clock clock)
从指定的时钟中获取当前的本地日期。
|
LocalDate |
dateNow(ZoneId zone)
在指定的时区中从系统时钟中获得当前的本地日期。
|
LocalDate |
dateYearDay(Era era, int yearOfEra, int dayOfYear)
获得从时代、时代年和年领域的一个标准化的地方日期。
|
LocalDate |
dateYearDay(int prolepticYear, int dayOfYear)
从预期年日年ISO日期字段。
|
IsoEra |
eraOf(int eraValue)
从数字值创建时间顺序的对象。
|
List<Era> |
eras()
获取时代列表的年代。
|
String |
getCalendarType()
获取日历类型的日历系统的ISO8601的。
|
String |
getId()
获取的编号的编号-“国际标准组织”。
|
boolean |
isLeapYear(long prolepticYear)
检查,如果今年是闰年,根据ISO预期历法系统规则。
|
LocalDateTime |
localDateTime(TemporalAccessor temporal)
从另一个日期时间对象中获得一个自组织的本地日期时间。
|
Period |
period(int years, int months, int days)
根据几年、几个月和几天的时间来获得这个年代的一段时间。
|
int |
prolepticYear(Era era, int yearOfEra)
计算给定的时代,今年预期年。
|
ValueRange |
range(ChronoField field)
获取指定字段的有效值的范围。
|
LocalDate |
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
解决
ChronoField 值解析到日期在解析。
|
ZonedDateTime |
zonedDateTime(Instant instant, ZoneId zone)
获得ISO划从
Instant 本年表日期时间。
|
ZonedDateTime |
zonedDateTime(TemporalAccessor temporal)
从另一个日期时间对象中获得一个异划日期时间。
|
compareTo, equals, hashCode, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
from, getDisplayName
public static final IsoChronology 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 LocalDate date(Era era, int yearOfEra, int month, int dayOfMonth)
date
接口
Chronology
era
- ISO的时代,不为空
yearOfEra
-时代国际年
month
-年ISO月
dayOfMonth
-月ISO天
DateTimeException
如果无法创建日期
ClassCastException
-如果
era
类型不
IsoEra
public LocalDate date(int prolepticYear, int month, int dayOfMonth)
date
接口
Chronology
prolepticYear
- ISO预期年
month
-年ISO月
dayOfMonth
-月ISO天
DateTimeException
如果无法创建日期
public LocalDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
dateYearDay
接口
Chronology
era
- ISO的时代,不为空
yearOfEra
-时代国际年
dayOfYear
-年ISO天
DateTimeException
如果无法创建日期
public LocalDate dateYearDay(int prolepticYear, int dayOfYear)
dateYearDay
接口
Chronology
prolepticYear
- ISO预期年
dayOfYear
-年ISO天
DateTimeException
如果无法创建日期
public LocalDate dateEpochDay(long epochDay)
dateEpochDay
接口
Chronology
epochDay
时代的天
DateTimeException
如果无法创建日期
public LocalDate date(TemporalAccessor temporal)
date
接口
Chronology
temporal
-日期时间对象转换,不为空
DateTimeException
如果无法创建日期
ChronoLocalDate.from(TemporalAccessor)
public LocalDateTime localDateTime(TemporalAccessor temporal)
localDateTime
接口
Chronology
temporal
-日期时间对象转换,不为空
DateTimeException
如果无法创建日期时间
ChronoLocalDateTime.from(TemporalAccessor)
public ZonedDateTime zonedDateTime(TemporalAccessor temporal)
zonedDateTime
接口
Chronology
temporal
-日期时间对象转换,不为空
DateTimeException
如果无法创建日期时间
ChronoZonedDateTime.from(TemporalAccessor)
public ZonedDateTime zonedDateTime(Instant instant, ZoneId zone)
Instant
本年表日期时间。
zonedDateTime
接口
Chronology
instant
-创建日期时间的瞬间,不为空
zone
的时区,不空
DateTimeException
-如果结果超过支持的范围
public LocalDate dateNow()
这将查询system clock
在默认时区获取当前日期。
使用这种方法将防止使用另一个时钟进行测试的能力,因为时钟是硬编码的。
dateNow
接口
Chronology
DateTimeException
如果无法创建日期
public LocalDate dateNow(ZoneId zone)
这将查询system clock
获取当前日期。指定时区避免依赖于默认时区。
使用这种方法将防止使用另一个时钟进行测试的能力,因为时钟是硬编码的。
dateNow
接口
Chronology
zone
-区ID使用,不为空
DateTimeException
如果无法创建日期
public LocalDate dateNow(Clock clock)
这将查询指定的时钟,以获得当前日期-今天。使用这种方法允许使用一个备用时钟进行测试。备用时钟可采用dependency injection
。
dateNow
接口
Chronology
clock
-时钟使用,不为空
DateTimeException
如果无法创建日期
public boolean isLeapYear(long prolepticYear)
此方法适用于在整个时间线的当前规则的跨越式。一般来说,一年是闰年,如果它能被四整除而没有余数。然而,年100整除,不是闰年,以400的年分的例外。
例如,1904是一个闰年是能被4整除。1900不是一个闰年为100是可分的,但是2000是一个闰年为400是可分的。
计算预期的规则应用到遥远的未来和遥远的过去。这是不准确的,但正确的ISO-8601标准。
isLeapYear
接口
Chronology
prolepticYear
- ISO预期年度检查
public int prolepticYear(Era era, int yearOfEra)
Chronology
本文结合时代和年时代为单预期年场。
如果时间使时代的积极利用,如JapaneseChronology
然后时代的年会与时代的验证。其他的年表,验证是可选的。
prolepticYear
接口
Chronology
era
-为年表正确类型的时代,不为空
yearOfEra
-时代年表年
public IsoEra eraOf(int eraValue)
Chronology
时代是,从概念上说,最大的划分的时间线。大多数日历系统有一个单一的时代划分的时间线分为两个时代。然而,有些人有多个时代,如一个为每个领导人的统治。确切的意义是根据以下约束条件确定的。
在使用中必须1970-01-01时代价值1。后来的时代必须有更高的价值。早期时代必须有顺序较低的价值观。每个年代必须引用枚举或类似的独生子女提供的时代价值。
此方法返回指定时代值的正确类型的单例时代。
eraOf
接口
Chronology
eraValue
的时代价值
public List<Era> eras()
Chronology
大多数日历系统都有一个时代,在这一年内有意义。如果日历系统不支持“时代”的概念,则必须返回一个空列表。
eras
接口
Chronology
public LocalDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
ChronoField
值解析到日期在解析。
最TemporalField
实现使用解决方法在现场解决。相比之下,在ChronoField
类定义,只有相对的意义领域的年表。因此,ChronoField
日期字段的解决在特定年代的语境。
ChronoField
实例在ISO的日历系统,解决方案如下。
EPOCH_DAY
-如果存在的话,这是转换为一个LocalDate
和所有其他日期字段的日期然后对交叉检查。PROLEPTIC_MONTH
-如果存在的话,那么它是分裂成YEAR
和MONTH_OF_YEAR
。如果该模式是严格的或智能的,那么该字段是验证。YEAR_OF_ERA
和ERA
-如果存在,那么它们组合起来形成一个YEAR
。在宽松的模式,YEAR_OF_ERA
范围没有验证,在智能和严格的方式是。验证范围内的所有三种模式的ERA
是。如果只有YEAR_OF_ERA
在场,和模式是聪明还是宽容,那么当前的时代(CE /广告)假设。在严格的模式,没有时代的假设和YEAR_OF_ERA
是原封不动。如果只有ERA
是存在的,那么它是原封不动。YEAR
,MONTH_OF_YEAR
和DAY_OF_MONTH
-如果三是存在的,然后他们组合起来形成一个LocalDate
。在所有三种模式,这YEAR
验证。如果模式是智能或严格的,那么这个月和一天进行了验证,与一天的验证从1到31。如果模式是宽松的,那么日期相结合的方式相当于创建一个日期在一月一日,在要求的一年,然后添加在几个月的差异,然后在天的差异。如果模式是聪明的,一个月的一天比一年的月最高,然后一个月的一天调整到一个月的最后一天。如果模式是严格的,那么三个字段必须形成一个有效的日期。YEAR
和DAY_OF_YEAR
-如果存在,那么它们组合起来形成一个LocalDate
。在所有三种模式,这YEAR
验证。如果模式是宽松的,那么日期相结合的方式相当于创建一个日期在一月一日,在要求的一年,然后添加在天的差异。如果模式是聪明的或严格的,那么这两个字段必须形成一个有效的日期。YEAR
,MONTH_OF_YEAR
,ALIGNED_WEEK_OF_MONTH
和ALIGNED_DAY_OF_WEEK_IN_MONTH
-如果四是存在的,然后他们组合起来形成一个LocalDate
。在所有三种模式,这YEAR
验证。如果模式是宽松的,那么日期是相结合的方式相当于创建一个日期在一月一日,在要求的一年,然后添加在几个月的差异,然后在几周内的差异,然后在天。如果该模式是智能或严格的,那么所有的四个字段进行了验证,他们的外部范围。日期然后以一种相当于要求的一年和一个月的第一天的日期创建日期,然后在几周和几天内添加量达到他们的价值。如果模式是严格的,还验证了日期,以检查一天和一周的调整并没有改变月份。YEAR
,MONTH_OF_YEAR
,ALIGNED_WEEK_OF_MONTH
和DAY_OF_WEEK
-如果四是存在的,然后他们组合起来形成一个LocalDate
。该方法是按上述年一样,在ALIGNED_DAY_OF_WEEK_IN_MONTH
月和周。周节是为下一个或同一匹配一周调整一年、月、周已处理。YEAR
,ALIGNED_WEEK_OF_YEAR
和ALIGNED_DAY_OF_WEEK_IN_YEAR
-如果三是存在的,然后他们组合起来形成一个LocalDate
。在所有三种模式,这YEAR
验证。如果模式是宽松的,那么日期是相结合的方式相当于创建一个日期在一月一日,在要求的一年,然后添加在几周内的差异,然后在天。如果该模式是智能或严格的,那么所有的三个字段进行了验证,他们的外部范围。日期然后以相当于在请求的一年的第一天创建日期,然后在几周和几天内添加量达到他们的值。如果模式是严格的,还验证了日期,以检查一天和一周的调整并没有改变一年。YEAR
,ALIGNED_WEEK_OF_YEAR
和DAY_OF_WEEK
-如果三是存在的,然后他们组合起来形成一个LocalDate
。方法如上所述,在ALIGNED_DAY_OF_WEEK_IN_YEAR
年周相同。每周一次的一天调整为下一个或同一个星期一次的一周,几周和几周已经处理好了。resolveDate
接口
Chronology
resolveDate
方法重写,继承类
AbstractChronology
fieldValues
-字段值的Map,可以更新,不为空
resolverStyle
-解决请求的类型,不为空
DateTimeException
如果日期不能解决,通常是因为在输入数据冲突
public ValueRange range(ChronoField field)
Chronology
所有字段可以表示为一个long
整数。此方法返回一个对象,该对象描述该值的有效范围。
请注意,结果只描述了最小值和最大值的有效值,重要的是不要对它们进行太多的阅读。例如,可能在字段无效的范围内的值。
这种方法将返回一个结果,是否年代支持该字段。
range
接口
Chronology
field
-现场得到的范围,不为空
public Period period(int years, int months, int days)
这将返回一个使用指定年、月和天的国际标准组织的时间段的周期。进一步详情请参阅Period
。
period
接口
Chronology
years
-年数,可能是负面的
months
-年数,可能是负面的
days
-年数,可能是负面的
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.