public final class JapaneseDate extends Object implements ChronoLocalDate, Serializable
这个日期操作使用Japanese Imperial calendar。该日历系统主要用于日本。
日本帝国日历系统是相同的,除了基于时代的年编号的异日历系统。预期年定义为等于是ISO预期年。
日本引进公历从明治6。只有明治和后时代是支持的,日期前明治6,1月1日不支持。
例如,日本“平成24年”对应于ISO年“2012”。
调用将返回调用japaneseDate.get(YEAR_OF_ERA)
24.
japaneseDate.get(YEAR)
将返回japaneseDate.get(ERA)
2012.
调用将返回2,对应JapaneseChronology.ERA_HEISEI
.
这是一个value-based类;利用身份敏感的操作(包括引用相等(==
),身份的哈希代码,或同步)的实例JapaneseDate
可能有不可预知的结果应该是可以避免的。的equals
法进行比较。
Modifier and Type | Method and Description |
---|---|
ChronoLocalDateTime<JapaneseDate> |
atTime(LocalTime localTime)
结合这个日期与时间创建一个
ChronoLocalDateTime 。
|
boolean |
equals(Object obj)
将此日期与另一个日期进行比较,包括年代。
|
static JapaneseDate |
from(TemporalAccessor temporal)
获得
JapaneseDate 从时态对象。
|
JapaneseChronology |
getChronology()
获取此日期的日期,这是日本日历系统。
|
JapaneseEra |
getEra()
获取在这个日期适用的时代。
|
long |
getLong(TemporalField field)
得到一
long 指定的字段的值。
|
int |
hashCode()
此日期的哈希代码。
|
boolean |
isSupported(TemporalField field)
检查指定字段是否被支持。
|
int |
lengthOfMonth()
返回此日期所表示的月份的长度。
|
int |
lengthOfYear()
返回由该日期所表示的年份的长度,如日历系统所定义的一年。
|
JapaneseDate |
minus(long amountToAdd, TemporalUnit unit)
返回与指定期间减去的相同类型的对象。
|
JapaneseDate |
minus(TemporalAmount amount)
返回一个与此对象相同的类型的对象,该对象的金额减去。
|
static JapaneseDate |
now()
获得当前
JapaneseDate 从默认时区的时钟系统。
|
static JapaneseDate |
now(Clock clock)
获得当前
JapaneseDate 从指定的时钟。
|
static JapaneseDate |
now(ZoneId zone)
获得当前
JapaneseDate 从指定的时区系统时钟。
|
static JapaneseDate |
of(int prolepticYear, int month, int dayOfMonth)
获得
JapaneseDate 表示从预期年日本历法的日期,年、月、日月。
|
static JapaneseDate |
of(JapaneseEra era, int yearOfEra, int month, int dayOfMonth)
获得
JapaneseDate 代表时代在日本历法的日期,年的时代,一年和一天的月田月。
|
JapaneseDate |
plus(long amountToAdd, TemporalUnit unit)
返回与此对象相同的类型的对象,添加指定的周期。
|
JapaneseDate |
plus(TemporalAmount amount)
返回与此对象添加的相同类型的对象。
|
ValueRange |
range(TemporalField field)
获取指定字段的有效值的范围。
|
long |
toEpochDay()
将此日期转换为新纪元日。
|
String |
toString()
返回对象的字符串表示形式。
|
ChronoPeriod |
until(ChronoLocalDate endDate)
计算这个日期和日期之间的时间作为一个
ChronoPeriod 。
|
long |
until(Temporal endExclusive, TemporalUnit unit)
计算时间的量,直到指定单元的另一个日期为止。
|
JapaneseDate |
with(TemporalAdjuster adjuster)
返回与此对象调整的相同类型的调整对象。
|
JapaneseDate |
with(TemporalField field, long newValue)
返回与指定字段更改的相同类型的对象。
|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
adjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, query, timeLineOrder, toString, until
get
public static JapaneseDate now()
public static JapaneseDate now(ZoneId zone)
JapaneseDate
从指定的时区系统时钟。
这将查询system clock
获取当前日期。指定时区避免依赖于默认时区。
使用这种方法将防止使用另一个时钟进行测试的能力,因为时钟是硬编码的。
zone
-区ID使用,不为空
public static JapaneseDate now(Clock clock)
JapaneseDate
从指定的时钟。
这将查询指定的时钟,以获得当前日期-今天。使用这种方法允许使用一个备用时钟进行测试。备用时钟可采用dependency injection。
clock
-时钟使用,不为空
DateTimeException
-如果当前日期不能得到
public static JapaneseDate of(JapaneseEra era, int yearOfEra, int month, int dayOfMonth)
JapaneseDate
代表时代在日本历法的日期,年的时代,一年和一天的月田月。
返回具有指定领域JapaneseDate
。一天必须是有效的,因为一年和一个月,否则将抛出异常。
日本的月和月的日是相同的那些在国际标准化组织日历系统。他们没有重置时,时代的变化。例如:
1月6日,ISO 1989-01-06昭和64 =1月7日,ISO 1989-01-07昭和64 =1月8日平成1 = ISO 1989-01-081月9日平成1 = ISO 1989-01-09
era
-日本的时代,不为空
yearOfEra
-时代的日本年
month
-年日本月,从1到12
dayOfMonth
-月日一天,从1到31
DateTimeException
-如果任何字段的值超出范围,或如果月日年月日是无效的,或者如果该日期不是日本时代
public static JapaneseDate of(int prolepticYear, int month, int dayOfMonth)
JapaneseDate
表示从预期年日本历法的日期,年、月、日月。
返回具有指定领域JapaneseDate
。一天必须是有效的,因为一年和一个月,否则将抛出异常。
日本预期年、月、日月与ISO的日历系统相同。他们没有重置时,时代的变化。
prolepticYear
-日本预期年
month
-年日本月,从1到12
dayOfMonth
-月日一天,从1到31
DateTimeException
-如果任何字段的值超出范围,或如果月日年月日是无效的
public static JapaneseDate from(TemporalAccessor temporal)
JapaneseDate
从时态对象。
这在日本日历系统中基于指定的时间来获得日期。一个TemporalAccessor
表示日期和时间信息,任意设置,本厂将以JapaneseDate
实例。
转换通常用EPOCH_DAY
领域,这是标准化的日历系统。
这种方法相匹配的功能接口TemporalQuery
可以通过方法引用查询的签名,JapaneseDate::from
。
from
接口
ChronoLocalDate
temporal
-转换时间的对象,不为空
DateTimeException
如果无法转换为
JapaneseDate
Chronology.date(TemporalAccessor)
public JapaneseChronology getChronology()
的Chronology
代表使用日历系统。在ChronoField
时代和其他领域的时间定义。
getChronology
接口
ChronoLocalDate
public JapaneseEra getEra()
日本的日历系统具有多个时代定义的JapaneseEra
。
getEra
接口
ChronoLocalDate
public int lengthOfMonth()
这将返回一个月的长度。月的长度与国际标准化组织日历系统的长度相匹配。
lengthOfMonth
接口
ChronoLocalDate
public int lengthOfYear()
ChronoLocalDate
这将返回在几天内的长度。
默认的实现使用ChronoLocalDate.isLeapYear()
返回365或366。
lengthOfYear
接口
ChronoLocalDate
public boolean isSupported(TemporalField field)
此检查如果此日期可以查询指定的字段。如果为false,则调用range
和get
方法将抛出一个异常。
如果该字段是ChronoField
然后查询执行。支持的字段是:
DAY_OF_WEEK
DAY_OF_MONTH
DAY_OF_YEAR
EPOCH_DAY
MONTH_OF_YEAR
PROLEPTIC_MONTH
YEAR_OF_ERA
YEAR
ERA
ChronoField
实例将返回false。
如果该字段是不是ChronoField
,然后通过调用作为参数传递this
TemporalField.isSupportedBy(TemporalAccessor)
得到此方法的结果。是否支持字段由字段确定。
isSupported
接口
ChronoLocalDate
isSupported
接口
TemporalAccessor
field
-现场检查null返回false
public ValueRange range(TemporalField field)
TemporalAccessor
所有字段可以表示为一个long
整数。此方法返回一个对象,该对象描述该值的有效范围。这个时间对象的值是用来提高返回范围的准确性。如果日期时间不能返回范围,因为字段不支持或其他原因,将抛出一个异常。
请注意,结果只描述了最小值和最大值的有效值,重要的是不要对它们进行太多的阅读。例如,可能在字段无效的范围内的值。
range
接口
TemporalAccessor
field
-现场查询范围,不为空
public long getLong(TemporalField field)
TemporalAccessor
long
指定的字段的值。
此查询指定字段的值的日期时间。返回的值可能是字段的有效值范围以外的。如果日期时间不能返回值,因为字段不支持或其他原因,将引发异常。
getLong
接口
TemporalAccessor
field
-领域有,不空
public JapaneseDate with(TemporalField field, long newValue)
ChronoLocalDate
这将返回一个新的对象,在此基础上,以指定字段的值更改。例如,在一个LocalDate
,这可以用来设置年、月、日月。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表1月31日的日期,则更改月至二月将不清楚。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
with
接口
ChronoLocalDate
with
接口
Temporal
field
-现场设置的结果,不为空
newValue
-场的结果中的新价值
public JapaneseDate with(TemporalAdjuster adjuster)
根据指定的调节器的规则来调整这个日期时间。一个简单的调节器可以简单地设置一个字段,例如年字段。一个更复杂的调节器可能会把日期定在月的最后一天。选择常见的调整提供了TemporalAdjuster
。这些包括找到“一个月的最后一天”和“下星期三”。该调节器是负责处理特殊情况下,如不同长度的月和跳跃年。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期(月,七月);//最关键的类实现temporaladjuster日期为日期,(lastdayofmonth());//静态导入调节器日期为日期,(下(星期三));//静态导入调节器和DayOfWeek
with
接口
ChronoLocalDate
with
接口
Temporal
adjuster
-调节器使用,不为空
DateTimeException
如果无法适应
ArithmeticException
如果数值溢出时
public JapaneseDate plus(TemporalAmount amount)
这调整这个时间,添加根据指定金额的规则。量是一个典型的Period
但可能是任何其他类型的实施TemporalAmount
接口,如Duration
。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期(期间);/ /添加一个周期实例日期。+(持续时间);/ /添加一个持续时间实例日期=日期。加(工作日(6));//实例用户编写的工作日的方法
注意,调用plus
随后minus
不保证返回相同的日期时间。
plus
接口
ChronoLocalDate
plus
接口
Temporal
amount
-添加量,不为空
DateTimeException
如果还不能
ArithmeticException
如果数值溢出时
public JapaneseDate minus(TemporalAmount amount)
这调整这个时间,减去根据指定金额的规则。量是一个典型的Period
但可能是任何其他类型的实施TemporalAmount
接口,如Duration
。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期减去(期间);/ /减去一个周期实例日期。减去(持续时间);/ /减去持续时间实例日期=日期减去(工作日(6));//实例用户编写的工作日的方法
注意,调用plus
随后minus
不保证返回相同的日期时间。
minus
接口
ChronoLocalDate
minus
接口
Temporal
amount
-减去的量,不为空
DateTimeException
如果减法不能做
ArithmeticException
如果数值溢出时
public JapaneseDate plus(long amountToAdd, TemporalUnit unit)
ChronoLocalDate
此方法返回一个新的对象,在此基础上添加指定的周期。例如,在一个LocalDate
,这可以用来添加一个数年、月或日。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表1月31日的日期,则添加一个月将不清楚。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
plus
接口
ChronoLocalDate
plus
接口
Temporal
amountToAdd
-添加指定的单位的数量,可能是负面的
unit
-期添加单元,不为空
public JapaneseDate minus(long amountToAdd, TemporalUnit unit)
ChronoLocalDate
此方法返回一个新的对象,在此基础上减去指定的周期。例如,在一个LocalDate
,这可以用来减去一个数年、月或日。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表3月31日的日期,那么减去一个月就不清楚了。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
minus
接口
ChronoLocalDate
minus
接口
Temporal
amountToAdd
-减去指定的单位的数量,可能是负面的
unit
-期减去单位,不为空
public final ChronoLocalDateTime<JapaneseDate> atTime(LocalTime localTime)
ChronoLocalDate
ChronoLocalDateTime
。
这会返回一个由这个日期在指定的时间ChronoLocalDateTime
。日期和时间的所有可能的组合都是有效的。
atTime
接口
ChronoLocalDate
localTime
-使用本地时间,不是空的
public ChronoPeriod until(ChronoLocalDate endDate)
ChronoLocalDate
ChronoPeriod
。
这计算两个日期之间的周期。所有提供的年表计算使用年期、月和日,但ChronoPeriod
API允许期间要使用其他单位代表。
开始和结束点this
和指定的日期。结果将是负的,如果结束之前开始。在每一年,一个月和一天,消极的标志会是一样的。
使用此日期的时间顺序进行计算。如果有必要,输入日期将被转换为匹配。
此实例是不可变的,不受此方法调用的影响。
until
接口
ChronoLocalDate
endDate
-结束日期,独家的,这可能是在任何年代,不空
public long toEpochDay()
ChronoLocalDate
是一个简单的Epoch Day count
递增计数的日子,0天是1970-01-01(ISO)。这个定义是所有年表一样,使转换。
此默认实现查询EPOCH_DAY
场。
toEpochDay
接口
ChronoLocalDate
public boolean equals(Object obj)
这JapaneseDate
与另一个确保日期是相同的比较。
JapaneseDate
型只有对象相比,其他类型返回false。比较两TemporalAccessor
实例的日期,包括在两个不同的年表的日期,使用ChronoField.EPOCH_DAY
作为比较器。
equals
接口
ChronoLocalDate
obj
-检查对象,空返回false
Object.hashCode()
,
HashMap
public int hashCode()
hashCode
接口
ChronoLocalDate
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public long until(Temporal endExclusive, TemporalUnit unit)
ChronoLocalDate
这两ChronoLocalDate
计算对象之间的时间量在一个TemporalUnit
条款。开始和结束点this
和指定的日期。结果将是负的,如果结束之前开始。的Temporal
传递给此方法转换为ChronoLocalDate
使用Chronology.date(TemporalAccessor)
。计算返回一个整数,表示两个日期之间的完整单位数。例如,两个日期之间的天数的量可以计算出使用startDate.until(endDate, DAYS)
。
使用这种方法有两个等效的方法。首先是调用这个方法。二是用TemporalUnit.between(Temporal, Temporal)
:
这两条线是等价的金额=开始,直到(结束,月);金额=月间(开始,结束);的选择应基于使得代码更易读。
计算中实现该方法ChronoUnit
。单位DAYS
,WEEKS
,MONTHS
,YEARS
,DECADES
,CENTURIES
,MILLENNIA
和ERAS
应该由所有实现支持。其他ChronoUnit
值将抛出一个异常。
如果单位不ChronoUnit
,然后通过调用TemporalUnit.between(Temporal, Temporal)
this
作为第一个参数传递和转换的输入时间作为第二个参数给出了这个方法的结果。
此实例是不可变的,不受此方法调用的影响。
until
接口
ChronoLocalDate
until
接口
Temporal
endExclusive
-结束日期,独家,并转换为在同一个时代
ChronoLocalDate
,不空
unit
-单位量来衡量,不为空
public String toString()
Object
toString
方法返回一个字符串,“以文本方式表示”这个对象。其结果应该是一个简洁,但翔实的代表性,是一个容易阅读的人。建议所有子类都重写此方法。
Object
类的toString
方法返回一个包含该类的对象是一个实例的名称字符串的符号` @
',和符号进制表示的对象的哈希码。换句话说,此方法返回一个等于值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
toString
接口
ChronoLocalDate
toString
方法重写,继承类
Object
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.