public final class JapaneseChronology extends AbstractChronology implements Serializable
这个年表定义了日本帝国历法系统的规则。 这个日历系统主要在日本使用。 日系帝国日历系统与日历系统相同,除了基于时代的年份编号。
日本介绍了从明治6开始的公历。只有明治和以后的时代得到支持; 1月1日明治6日之前的日期不受支持。
支持的ChronoField
实例是:
DAY_OF_WEEK
DAY_OF_MONTH
DAY_OF_YEAR
EPOCH_DAY
MONTH_OF_YEAR
PROLEPTIC_MONTH
YEAR_OF_ERA
YEAR
ERA
Modifier and Type | Field and Description |
---|---|
static JapaneseChronology |
INSTANCE
日本年代的单身人士例子。
|
Modifier and Type | Method and Description |
---|---|
JapaneseDate |
date(Era era, int yearOfEra, int month, int dayOfMonth)
从日期,时代,月份和月份的时代,获取日本日历系统中的当地日期。
|
JapaneseDate |
date(int prolepticYear, int month, int dayOfMonth)
从日光年,月 - 日和日月份获取日本日历系统的当地日期。
|
JapaneseDate |
date(TemporalAccessor temporal)
从另一个时间对象获取本年龄的本地日期。
|
JapaneseDate |
dateEpochDay(long epochDay)
在日历日历系统中从当天获取本地日期。
|
JapaneseDate |
dateNow()
从默认时区的系统时钟获取此时间顺序中的当前本地日期。
|
JapaneseDate |
dateNow(Clock clock)
从指定的时钟获取本年龄的当前本地日期。
|
JapaneseDate |
dateNow(ZoneId zone)
从指定时区的系统时钟获取此时间顺序中的当前本地日期。
|
JapaneseDate |
dateYearDay(Era era, int yearOfEra, int dayOfYear)
从时代,年龄和日期领域获取日本日历系统中的当地日期。
|
JapaneseDate |
dateYearDay(int prolepticYear, int dayOfYear)
从日光年和日期字段获取日语日历系统中的当地日期。
|
JapaneseEra |
eraOf(int eraValue)
从给定的数值返回日历系统时代对象。
|
List<Era> |
eras()
获取年表的时间列表。
|
String |
getCalendarType()
获取基础日历系统的日历类型 - “日语”。
|
String |
getId()
获取年表的ID - “日语”。
|
boolean |
isLeapYear(long prolepticYear)
检查指定年份是否是闰年。
|
ChronoLocalDateTime<JapaneseDate> |
localDateTime(TemporalAccessor temporal)
从另一个时间对象获取本年龄的本地日期时间。
|
int |
prolepticYear(Era era, int yearOfEra)
计算年龄和年龄的幼年时期。
|
ValueRange |
range(ChronoField field)
获取指定字段的有效值的范围。
|
JapaneseDate |
resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
解析解析时解析为
ChronoField 值。
|
ChronoZonedDateTime<JapaneseDate> |
zonedDateTime(Instant instant, ZoneId zone)
获得
ChronoZonedDateTime 在从这个年表
Instant 。
|
ChronoZonedDateTime<JapaneseDate> |
zonedDateTime(TemporalAccessor temporal)
从另一个时间对象获得这个
ChronoZonedDateTime 中的一个
ChronoZonedDateTime 。
|
compareTo, equals, hashCode, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
from, getDisplayName, period
public static final JapaneseChronology INSTANCE
public String getId()
该ID唯一标识Chronology
。 它可以用于查找Chronology
使用AbstractChronology.of(String)
。
getId
在界面
Chronology
getCalendarType()
public String getCalendarType()
日历类型是由Unicode区域设置数据标记语言(LDML)规范定义的标识符。 它可以用于查找Chronology
使用AbstractChronology.of(String)
。 它也可以作为语言环境的一部分使用,通过Locale.getUnicodeLocaleType(String)
可以通过键“ca”访问。
getCalendarType
在界面
Chronology
getId()
public JapaneseDate date(Era era, int yearOfEra, int month, int dayOfMonth)
日历月份和日期与ISO日历系统中的日期和日期相同。 当时代发生变化时,它们不会重置。 例如:
6th Jan Showa 64 = ISO 1989-01-06
7th Jan Showa 64 = ISO 1989-01-07
8th Jan Heisei 1 = ISO 1989-01-08
9th Jan Heisei 1 = ISO 1989-01-09
date
在界面
Chronology
era
- 日本时代,不为空
yearOfEra
- 年代
month
- 年月
dayOfMonth
- 月的日子
DateTimeException
- 如果无法创建日期
ClassCastException
- 如果
era
不是
JapaneseEra
public JapaneseDate date(int prolepticYear, int month, int dayOfMonth)
日本的摄像年份,月份和日期与ISO日历系统中的相同。 当时代发生变化时,它们不会重置。
date
在界面
Chronology
prolepticYear
- 幼稚年
month
- 年月
dayOfMonth
- 月的日子
DateTimeException
- 如果无法创建日期
public JapaneseDate dateYearDay(Era era, int yearOfEra, int dayOfYear)
这个工厂的日期是相对于时代的开始而言的。 这个定义只是在年龄由于时代的变化而重新设定为一年的那些时代,才改变了日常的正常意义。 例如:
6th Jan Showa 64 = day-of-year 6
7th Jan Showa 64 = day-of-year 7
8th Jan Heisei 1 = day-of-year 1
9th Jan Heisei 1 = day-of-year 2
dateYearDay
在界面
Chronology
era
- 日本时代,不为空
yearOfEra
- 年代
dayOfYear
- 一年的一天
DateTimeException
- 如果无法创建日期
ClassCastException
- 如果
era
不是
JapaneseEra
public JapaneseDate dateYearDay(int prolepticYear, int dayOfYear)
这个工厂的日期是相对于开胃的一年表示的。 日本的日常生活和日常生活与ISO日历系统相同。 当时代发生变化时,它们不会重置。
dateYearDay
在接口
Chronology
prolepticYear
- 幼稚年
dayOfYear
- 一年的一天
DateTimeException
- 如果无法创建日期
public JapaneseDate dateEpochDay(long epochDay)
dateEpochDay
在界面
Chronology
epochDay
- 纪元日
DateTimeException
- 如果无法创建日期
public JapaneseDate dateNow()
Chronology
复制
dateNow
在界面
Chronology
public JapaneseDate dateNow(ZoneId zone)
Chronology
复制
dateNow
在界面
Chronology
zone
- 要使用的区域ID,不为空
public JapaneseDate dateNow(Clock clock)
Chronology
复制
这将查询指定的时钟以获取当前日期 - 今天。 使用此方法可以使用备用时钟进行测试。 替代时钟可以使用dependency injection
引入 。
dateNow
在界面
Chronology
clock
- 要使用的时钟,不为空
public JapaneseDate date(TemporalAccessor temporal)
Chronology
复制
这在这个时间表中基于指定的时间获得日期。 A TemporalAccessor
表示一个任意的日期和时间信息集,该工厂转换为ChronoLocalDate
一个实例。
转换通常使用EPOCH_DAY
字段,这是跨日历系统标准化的。
该方法中,功能接口的签名相匹配TemporalQuery
允许它被用作通过方法参考,查询aChronology::date
。
date
在界面
Chronology
temporal
- 要转换的时间对象,不为null
ChronoLocalDate.from(TemporalAccessor)
public ChronoLocalDateTime<JapaneseDate> localDateTime(TemporalAccessor temporal)
Chronology
复制
这在这个时间表中基于指定的时间获得日期时间。 A TemporalAccessor
表示一个任意的日期和时间信息集,该工厂转换为ChronoLocalDateTime
一个实例。
转换提取并从时间对象组合ChronoLocalDate
和LocalTime
。 允许实现执行优化,例如访问与相关对象相当的那些字段。 结果使用这个年表。
该方法中,功能接口的签名相匹配TemporalQuery
允许它被用作通过方法参考,查询aChronology::localDateTime
。
localDateTime
在界面
Chronology
temporal
- 要转换的时间对象,不为null
ChronoLocalDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<JapaneseDate> zonedDateTime(TemporalAccessor temporal)
Chronology
复制
ChronoZonedDateTime
从另一个时空对象这个年表。
根据指定的时间,在这个年表中获得一个分区的日期时间。 A TemporalAccessor
表示一个任意的日期和时间信息集,该工厂转换为ChronoZonedDateTime
一个实例。
转换将第一获得ZoneId
从时间对象,回落到一个ZoneOffset
如果必要的话。 然后,它会尝试获得Instant
,回落到ChronoLocalDateTime
,如果必要的。 结果将是ZoneId
或ZoneOffset
与Instant
或ChronoLocalDateTime
。 允许实现执行优化,例如访问与相关对象相当的那些字段。 结果使用这个年表。
该方法中,功能接口的签名相匹配TemporalQuery
允许它被用作通过方法参考,查询aChronology::zonedDateTime
。
zonedDateTime
在接口
Chronology
temporal
- 要转换的时间对象,不为null
ChronoZonedDateTime.from(TemporalAccessor)
public ChronoZonedDateTime<JapaneseDate> zonedDateTime(Instant instant, ZoneId zone)
Chronology
复制
ChronoZonedDateTime
在从这个年表Instant
。
这将获得与指定的相同时间的分区日期时间。
zonedDateTime
在接口
Chronology
instant
- 即时创建日期时间,不为null
zone
- 时区,不为空
public boolean isLeapYear(long prolepticYear)
日历闰年与ISO闰年完全一致。 该方法不能验证所传递的年份,并且在支持的范围内只有明确的结果多年。
isLeapYear
在界面
Chronology
prolepticYear
- 检查年份,无法验证范围
public int prolepticYear(Era era, int yearOfEra)
Chronology
复制
这将时代与时代融为一体的年轻一代。
如果年表积极使用时代,如JapaneseChronology
那么年代将在时代得到验证。 对于其他年表,验证是可选的。
prolepticYear
在界面
Chronology
era
- 年代正确的时代,不为零
yearOfEra
- 年代的年代
public JapaneseEra eraOf(int eraValue)
JapaneseEra.HEISEI
, JapaneseEra.SHOWA
, JapaneseEra.TAISHO
, JapaneseEra.MEIJI
),仅明治和以后的时代的支持。
eraOf
在界面
Chronology
eraValue
- 时代价值
Era
为给定的数字时代价值
DateTimeException
- 如果
eraValue
无效
public List<Era> eras()
Chronology
复制
大多数日历系统都有一个时代,其中一年有意义。 如果日历系统不支持时间的概念,则必须返回空列表。
eras
在界面
Chronology
public ValueRange range(ChronoField field)
Chronology
复制
所有字段可以表示为long
整数。 此方法返回描述该值的有效范围的对象。
请注意,结果仅描述最小和最大有效值,重要的是不要太多读取它们。 例如,可以在该范围内的值对该字段无效。
该方法将返回结果,无论年表是否支持该字段。
range
在界面
Chronology
field
- 获取范围的字段,不为null
public JapaneseDate resolveDate(Map<TemporalField,Long> fieldValues, ResolverStyle resolverStyle)
AbstractChronology
复制
ChronoField
值。
大多数TemporalField
实现使用该字段上的resolve方法来解析。 相比之下, 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中的几年和几周ALIGNED_DAY_OF_WEEK_IN_YEAR
。 一天一周的时间一周调整为下一个或相同的匹配日期,一年的时间和周数被处理。 默认实现适用于大多数日历系统。 如果ChronoField.YEAR_OF_ERA
是没有发现ChronoField.ERA
然后在最后的时代Chronology.eras()
使用。 实施假定为7天,第一个月的日期为1,第一天的值为1,并且月份和年份的第一个始终存在。
resolveDate
在界面
Chronology
resolveDate
在
AbstractChronology
fieldValues
- 可以更新的值的字段映射,不为空
resolverStyle
- 请求的解析类型,不为null
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.