D
-这个日期时间日期的具体类型
public interface ChronoLocalDateTime<D extends ChronoLocalDate> extends Temporal, TemporalAdjuster, Comparable<ChronoLocalDateTime<?>>
大多数应用程序都应声明方法签名,字段和变量LocalDateTime
,不是这个界面。
一个ChronoLocalDateTime
是抽象的本地日期时间,Chronology chronology
,或日历系统,是可插拔。日期时间字段中所表达的TemporalField
术语定义,其中最常见的实现定义在ChronoField
。时间顺序定义了日历系统的操作方式和标准字段的意义。
LocalDateTime
而不是使用这个接口,即使在应用程序需要处理多个日历系统的情况下。这个理由是,详细探讨了在
ChronoLocalDate
。
确保在ChronoLocalDate
的讨论已经阅读并理解在使用此接口。
Modifier and Type | Method and Description |
---|---|
default Temporal |
adjustInto(Temporal temporal)
调整指定的时间对象,以具有相同的日期和时间为对象。
|
ChronoZonedDateTime<D> |
atZone(ZoneId zone)
结合这一次的时间区创建
ChronoZonedDateTime 。
|
default int |
compareTo(ChronoLocalDateTime<?> other)
将此日期时间与另一个日期时间进行比较,包括年代。
|
boolean |
equals(Object obj)
检查这个日期时间是否等于另一个日期时间,包括时间。
|
default String |
format(DateTimeFormatter formatter)
这个日期时间格式使用指定的格式化程序。
|
static ChronoLocalDateTime<?> |
from(TemporalAccessor temporal)
获得
ChronoLocalDateTime 实例从一个时空对象。
|
default Chronology |
getChronology()
获取此日期时间的日期。
|
int |
hashCode()
用于此日期时间的哈希代码。
|
default boolean |
isAfter(ChronoLocalDateTime<?> other)
检查此日期时间是否在指定日期时间忽略了时间。
|
default boolean |
isBefore(ChronoLocalDateTime<?> other)
检查这个日期时间是否在指定日期时间之前忽略了时间。
|
default boolean |
isEqual(ChronoLocalDateTime<?> other)
检查这个日期时间是否等于指定的日期时间忽略了时间顺序。
|
boolean |
isSupported(TemporalField field)
检查指定字段是否被支持。
|
default boolean |
isSupported(TemporalUnit unit)
检查指定的单位是否被支持。
|
default ChronoLocalDateTime<D> |
minus(long amountToSubtract, TemporalUnit unit)
返回与指定期间减去的相同类型的对象。
|
default ChronoLocalDateTime<D> |
minus(TemporalAmount amount)
返回一个与此对象相同的类型的对象,该对象的金额减去。
|
ChronoLocalDateTime<D> |
plus(long amountToAdd, TemporalUnit unit)
返回与此对象相同的类型的对象,添加指定的周期。
|
default ChronoLocalDateTime<D> |
plus(TemporalAmount amount)
返回与此对象添加的相同类型的对象。
|
default <R> R |
query(TemporalQuery<R> query)
使用指定的查询查询此日期时间。
|
static Comparator<ChronoLocalDateTime<?>> |
timeLineOrder()
获取一个比较器,比较
ChronoLocalDateTime 时间线的顺序忽略年表。
|
default long |
toEpochSecond(ZoneOffset offset)
将此日期时间的秒数从1970-01-01t00:00:00z时代。
|
default Instant |
toInstant(ZoneOffset offset)
将这一
Instant 日期时间。
|
D |
toLocalDate()
获取此日期时间的本地日期部分。
|
LocalTime |
toLocalTime()
获取此日期时间的本地时间部分。
|
String |
toString()
输出该日期时间为
String 。
|
default ChronoLocalDateTime<D> |
with(TemporalAdjuster adjuster)
返回与此对象调整的相同类型的调整对象。
|
ChronoLocalDateTime<D> |
with(TemporalField field, long newValue)
返回与指定字段更改的相同类型的对象。
|
get, getLong, range
static Comparator<ChronoLocalDateTime<?>> timeLineOrder()
ChronoLocalDateTime
时间线的顺序忽略年表。
该比较器与compareTo(java.time.chrono.ChronoLocalDateTime<?>)
在比较,只是比较底层的日期时间和没有年表。这允许在不同的日历系统中的日期根据本地时间线上的日期时间的位置进行比较。基本的比较是相当于比较的时代和纳米的一天。
static ChronoLocalDateTime<?> from(TemporalAccessor temporal)
ChronoLocalDateTime
实例从一个时空对象。
这将获得一个基于指定时间的本地日期时间。一个TemporalAccessor
表示日期和时间信息,任意设置,本厂将以ChronoLocalDateTime
实例。
转换提取物,并结合时间对象的时间和日期时间。行为相当于使用Chronology.localDateTime(TemporalAccessor)
与提取的年表。实现允许执行优化,如访问这些字段,这些字段相当于相关对象。
这种方法相匹配的功能接口TemporalQuery
可以通过方法引用查询的签名,ChronoLocalDateTime::from
。
temporal
-转换时间的对象,不为空
DateTimeException
如果无法转换为
ChronoLocalDateTime
Chronology.localDateTime(TemporalAccessor)
default Chronology getChronology()
的Chronology
代表使用日历系统。在ChronoField
时代和其他领域的时间定义。
D toLocalDate()
这将返回一个本地日期与同一年、月和日作为这个日期时间。
LocalTime toLocalTime()
这将返回一个本地时间与相同的小时,分钟,秒和纳秒作为这个日期时间。
boolean isSupported(TemporalField field)
此检查如果指定的字段可以在这个日期时间查询。如果为false,则调用range
,get
和with(TemporalField, long)
方法将抛出一个异常。
支持的字段集由年表的定义,通常包括所有ChronoField
日期和时间字段。
如果该字段是不是ChronoField
,然后通过调用作为参数传递this
TemporalField.isSupportedBy(TemporalAccessor)
得到此方法的结果。是否支持字段由字段确定。
isSupported
接口
TemporalAccessor
field
-现场检查null返回false
default boolean isSupported(TemporalUnit unit)
此检查如果指定的单位可以添加到或从这个日期时间减去。如果为false,则调用plus(long, TemporalUnit)
和minus
方法将抛出一个异常。
支持单位集由年表的定义和一般包括除FOREVER
所有ChronoUnit
单位。
如果单位不ChronoUnit
,然后通过调用作为参数传递this
TemporalUnit.isSupportedBy(Temporal)
得到此方法的结果。是否支持单位是由单位确定的。
isSupported
接口
Temporal
unit
-检查单元,空返回false
default ChronoLocalDateTime<D> with(TemporalAdjuster adjuster)
根据指定的调节器的规则来调整这个日期时间。一个简单的调节器可以简单地设置一个字段,例如年字段。一个更复杂的调节器可能会把日期定在月的最后一天。选择常见的调整提供了TemporalAdjuster
。这些包括找到“一个月的最后一天”和“下星期三”。该调节器是负责处理特殊情况下,如不同长度的月和跳跃年。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期(月,七月);//最关键的类实现temporaladjuster日期为日期,(lastdayofmonth());//静态导入调节器日期为日期,(下(星期三));//静态导入调节器和DayOfWeek
with
接口
Temporal
adjuster
-调节器使用,不为空
DateTimeException
如果无法适应
ArithmeticException
如果数值溢出时
ChronoLocalDateTime<D> with(TemporalField field, long newValue)
这将返回一个新的对象,在此基础上,以指定字段的值更改。例如,在一个LocalDate
,这可以用来设置年、月、日月。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表1月31日的日期,则更改月至二月将不清楚。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
with
接口
Temporal
field
-现场设置的结果,不为空
newValue
-场的结果中的新价值
DateTimeException
-如果该字段不能设置
ArithmeticException
如果数值溢出时
default ChronoLocalDateTime<D> plus(TemporalAmount amount)
这调整这个时间,添加根据指定金额的规则。量是一个典型的Period
但可能是任何其他类型的实施TemporalAmount
接口,如Duration
。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期(期间);/ /添加一个周期实例日期。+(持续时间);/ /添加一个持续时间实例日期=日期。加(工作日(6));//实例用户编写的工作日的方法
注意,调用plus
随后minus
不保证返回相同的日期时间。
plus
接口
Temporal
amount
-添加量,不为空
DateTimeException
如果还不能
ArithmeticException
如果数值溢出时
ChronoLocalDateTime<D> plus(long amountToAdd, TemporalUnit unit)
此方法返回一个新的对象,在此基础上添加指定的周期。例如,在一个LocalDate
,这可以用来添加一个数年、月或日。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表1月31日的日期,则添加一个月将不清楚。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
plus
接口
Temporal
amountToAdd
-添加指定的单位的数量,可能是负面的
unit
-期添加单元,不为空
DateTimeException
如果单位不能添加
ArithmeticException
如果数值溢出时
default ChronoLocalDateTime<D> minus(TemporalAmount amount)
这调整这个时间,减去根据指定金额的规则。量是一个典型的Period
但可能是任何其他类型的实施TemporalAmount
接口,如Duration
。
一些示例代码,说明如何以及为什么使用这种方法:
日期=日期减去(期间);/ /减去一个周期实例日期。减去(持续时间);/ /减去持续时间实例日期=日期减去(工作日(6));//实例用户编写的工作日的方法
注意,调用plus
随后minus
不保证返回相同的日期时间。
minus
接口
Temporal
amount
-减去的量,不为空
DateTimeException
如果减法不能做
ArithmeticException
如果数值溢出时
default ChronoLocalDateTime<D> minus(long amountToSubtract, TemporalUnit unit)
此方法返回一个新的对象,在此基础上减去指定的周期。例如,在一个LocalDate
,这可以用来减去一个数年、月或日。返回的对象将有相同的可观察的类型作为此对象。
在某些情况下,改变一个字段没有完全定义。例如,如果目标对象是代表3月31日的日期,那么减去一个月就不清楚了。在这样的情况下,该字段负责解决结果。通常情况下,它会选择以前的有效日期,这将是二月的最后一个有效的一天,在这个例子中。
minus
接口
Temporal
amountToSubtract
-减去指定的单位的数量,可能是负面的
unit
-期减去单位,不为空
DateTimeException
如果单位不能扣除
ArithmeticException
如果数值溢出时
default <R> R query(TemporalQuery<R> query)
此查询使用指定的查询策略对象使用此日期时间。的TemporalQuery
对象定义了用来获得结果的逻辑。阅读查询的文档,了解该方法的结果将是什么。
这种方法的结果是通过调用指定的查询通过this
作为论据的TemporalQuery.queryFrom(TemporalAccessor)
方法得到的。
query
接口
TemporalAccessor
R
-结果的类型
query
-调用查询,不空
DateTimeException
如果无法查询(查询所定义)
ArithmeticException
如果数值溢出时(由查询定义)
default Temporal adjustInto(Temporal temporal)
这将返回一个相同的可观察类型的时间对象,作为输入的日期和时间改变了,这是相同的。
调整是相当于用Temporal.with(TemporalField, long)
两次,通过ChronoField.EPOCH_DAY
和ChronoField.NANO_OF_DAY
的领域。
在大多数情况下,更清晰的用Temporal.with(TemporalAdjuster)
反向调用模式:
这两条线是等价的,但第二种方法是建议时间= thislocaldatetime adjustinto(时间);时间=(thislocaldatetime)与时间;
此实例是不可变的,不受此方法调用的影响。
adjustInto
接口
TemporalAdjuster
temporal
-调整目标对象,不为空
DateTimeException
如果无法适应
ArithmeticException
如果数值溢出时
default String format(DateTimeFormatter formatter)
这个日期将被传递到格式化程序产生一个字符串。
默认实现必须表现如下:
返回格式化格式(这);
formatter
-格式化程序使用,不为空
DateTimeException
如果打印时发生错误
ChronoZonedDateTime<D> atZone(ZoneId zone)
ChronoZonedDateTime
。
这会返回一个由这个日期时间在指定的时区ChronoZonedDateTime
。其结果将与此日期时间尽可能紧密地匹配。时间区域规则,如日光节约,意味着不是每个本地日期时间都是有效的指定区域,因此本地日期时间可以调整。
本地日期时间解决在时间线上的一个单一时刻上。这是通过寻找从UTC /格林尼治本地日期时间的区域ID。rules
定义有效的抵消了
在大多数情况下,只有一个本地日期时间的有效偏移量。在重叠的情况下,时钟被设置回来,有两个有效的偏移量。此方法使用较早的偏移量,通常对应于“夏季”。
在一个差距的情况下,时钟跳向前,没有有效的偏移。相反,本地日期时间被调整为稍后的差距的长度。对于一个典型的一小时的日光节约变化,当地日期时间将移动一个小时后到偏移通常对应于“夏天”。
得到后偏移在重叠,调用该方法的结果ChronoZonedDateTime.withLaterOffsetAtOverlap()
。
zone
-时区使用,不为空
default Instant toInstant(ZoneOffset offset)
Instant
日期时间。
这种结合本地日期时间和指定的偏移量来形成一个Instant
。
此默认实现计算从日期的第二天和第二天的时间。
offset
-偏移转换所用的,不是空的
Instant
,不空
default long toEpochSecond(ZoneOffset offset)
这种结合本地日期时间和指定的偏移量来计算时代第二值,这是经过的秒数后1970-01-01t00:00:00z。时代在时间线的时刻是积极的,早些时候是消极的。
此默认实现计算从日期的第二天和第二天的时间。
时代。offset
-偏移转换所用的,不是空的
default int compareTo(ChronoLocalDateTime<?> other)
比较是基于第一个基本的时间线的日期时间,然后在年代。这是“等于”一致,所定义的Comparable
。
例如,下面是比较器的顺序:
2012-12-03T12:00 (ISO)
2012-12-04T12:00 (ISO)
2555-12-04T12:00 (ThaiBuddhist)
2012-12-05T12:00 (ISO)
如果所有的日期时间对象都比较在同一个时间段,那么额外的时间段阶段是不需要的,只有本地日期时间被使用。
此默认实现执行以上定义的比较。
compareTo
接口
Comparable<ChronoLocalDateTime<?>>
other
的其他时间相比,不空
default boolean isAfter(ChronoLocalDateTime<?> other)
这种方法不同于在compareTo(java.time.chrono.ChronoLocalDateTime<?>)
在比较,只是比较底层的日期时间和没有年表。这允许在不同的日历系统中的日期进行比较的基础上的时间线位置。
此默认实现执行基于“时代”和“纳米”的比较。
other
的其他时间相比,不空
default boolean isBefore(ChronoLocalDateTime<?> other)
这种方法不同于在compareTo(java.time.chrono.ChronoLocalDateTime<?>)
在比较,只是比较底层的日期时间和没有年表。这允许在不同的日历系统中的日期进行比较的基础上的时间线位置。
此默认实现执行基于“时代”和“纳米”的比较。
other
的其他时间相比,不空
default boolean isEqual(ChronoLocalDateTime<?> other)
这种方法不同于在compareTo(java.time.chrono.ChronoLocalDateTime<?>)
在比较,只是比较底层的日期和时间,而不是年表。这允许在不同的日历系统中的日期时间进行比较的基础上的时间线位置。
此默认实现执行基于“时代”和“纳米”的比较。
other
的其他时间相比,不空
boolean equals(Object obj)
将此日期时间与另一个确保日期时间和时间相同的日期进行比较。
equals
方法重写,继承类
Object
obj
-检查对象,空返回false
Object.hashCode()
,
HashMap
int hashCode()
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.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.