public final class ZoneRules extends Object implements Serializable
规则模型的时间区的所有历史和未来的过渡。ZoneOffsetTransition
用于已知的转换,典型的历史。ZoneOffsetTransitionRule
用于基于算法的结果未来的过渡。
规则是通过使用一个ZoneId
ZoneRulesProvider
加载。相同的规则可以在多个区域之间共享。
ZoneRules
序列化实例将存储的完整规则体系。它不存储区域标识,因为它不是这个对象的状态的一部分。
一个规则实现可能或可能不存储关于历史和未来转换的充分信息,和存储的信息是只有准确的提供给由规则提供者的实施。应用程序应该将提供的数据视为可用的最佳信息来执行这条规则。
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object otherRules)
检查这组规则是否等于另一个。
|
Duration |
getDaylightSavings(Instant instant)
获取在该区域中指定的即时使用的日光节约量。
|
ZoneOffset |
getOffset(Instant instant)
获取在这些规则中指定的即时应用的偏移量。
|
ZoneOffset |
getOffset(LocalDateTime localDateTime)
获取在这些规则中指定的本地日期时间的适当偏移量。
|
ZoneOffset |
getStandardOffset(Instant instant)
获取此区域中指定的即时的标准偏移量。
|
ZoneOffsetTransition |
getTransition(LocalDateTime localDateTime)
获取在这些规则中指定的本地日期时间中适用的偏移量过渡。
|
List<ZoneOffsetTransitionRule> |
getTransitionRules()
获取超出过渡列表中定义的数年的过渡规则列表。
|
List<ZoneOffsetTransition> |
getTransitions()
获取完全定义的转换的完整列表。
|
List<ZoneOffset> |
getValidOffsets(LocalDateTime localDateTime)
获取在这些规则中指定的本地日期时间中的应用的偏移量。
|
int |
hashCode()
返回一个合适的哈希代码定义了
#equals 。
|
boolean |
isDaylightSavings(Instant instant)
检查指定的瞬间是否在日光节约中。
|
boolean |
isFixedOffset()
检查区域规则是固定的,这样的偏移永远不会改变。
|
boolean |
isValidOffset(LocalDateTime localDateTime, ZoneOffset offset)
检查偏移日期时间是否有效,为这些规则。
|
ZoneOffsetTransition |
nextTransition(Instant instant)
获取指定的即时后的下一个过渡。
|
static ZoneRules |
of(ZoneOffset offset)
得到ZoneRules有固定区域规则的实例。
|
static ZoneRules |
of(ZoneOffset baseStandardOffset, ZoneOffset baseWallOffset, List<ZoneOffsetTransition> standardOffsetTransitionList, List<ZoneOffsetTransition> transitionList, List<ZoneOffsetTransitionRule> lastRules)
得到一个zonerules实例。
|
ZoneOffsetTransition |
previousTransition(Instant instant)
获取指定的即时之前的前一个过渡。
|
String |
toString()
返回描述此对象的字符串。
|
public static ZoneRules of(ZoneOffset baseStandardOffset, ZoneOffset baseWallOffset, List<ZoneOffsetTransition> standardOffsetTransitionList, List<ZoneOffsetTransition> transitionList, List<ZoneOffsetTransitionRule> lastRules)
baseStandardOffset
-使用前法律规定的标准补偿,不为空
baseWallOffset
-墙偏移使用前的法律规定,不为空
standardOffsetTransitionList
-修改列表的标准偏移,不空
transitionList
-转换的列表不为空
lastRules
-重复去年的规则,大小为16或更少,不为空
public static ZoneRules of(ZoneOffset offset)
offset
-偏移固定区的规定是基于,不空
isFixedOffset()
public boolean isFixedOffset()
public ZoneOffset getOffset(Instant instant)
从即时到一个偏移的映射是简单的,只有一个有效的偏移量为每一个瞬间。此方法返回偏移量。
instant
-找到抵消,即时不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public ZoneOffset getOffset(LocalDateTime localDateTime)
从本地日期时间到偏移的映射并不简单。有三例:
由于在间隙和重叠的情况下,偏移量返回是一个“最好的”的价值,而不是“正确”的价值,它应该被视为护理。应用:正确的偏移应结合使用这种方法,getValidOffsets(LocalDateTime)
和getTransition(LocalDateTime)
。
localDateTime
-本地日期时间查询,不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public List<ZoneOffset> getValidOffsets(LocalDateTime localDateTime)
从本地日期时间到偏移的映射并不简单。有三例:
有不同的方法来从一个LocalDateTime
处理转换。一种技术,使用这种方法,将:
列表< zoneoffset > validoffsets =规则。getoffset(localdt);如果(validoffsets。size() = = 1){正常情况下:只有一个有效的偏移量zoneoffset = validoffsets得到(0);其他{ }/ /间隙或重叠:确定从过渡到做什么(这将是非空)zoneoffsettransition跨=规则。gettransition(localdt);}
在理论上,它是可能的,有两个有效的偏移量。这将发生,如果时钟被放回不止一次在快速继承。这从来没有发生在历史上的时区,因此没有特殊的处理。然而,如果它发生,那么列表将返回超过2个条目。
localDateTime
-本地日期时间查询有效的偏移,不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public ZoneOffsetTransition getTransition(LocalDateTime localDateTime)
从本地日期时间到偏移的映射并不简单。有三例:
有不同的方法来从一个LocalDateTime
处理转换。一种技术,使用这种方法,将:
zoneoffsettransition跨=规则。gettransition(localdt);如果(反式= =空)/ /间隙或重叠:从过渡中确定要做什么其他{ }正常情况下:只有一个有效的偏移量zoneoffset =规则。getoffset(localdt);}
localDateTime
-本地日期时间查询偏移过渡,不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public ZoneOffset getStandardOffset(Instant instant)
这提供了访问历史信息的标准偏移量随着时间的推移而改变。在应用任何日光节约时间之前,标准偏移量是偏移量的偏移量。这通常是在冬季适用的偏移量。
instant
-找到偏移信息,即时不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public Duration getDaylightSavings(Instant instant)
这提供了访问历史信息的日光节约量随着时间的推移而改变。这是标准偏移量和实际偏移量之间的区别。通常情况下,在冬季和夏季一个小时的量是零。时间区域是第二个基础,所以纳秒级的持续时间将是零。
instant
去找夏令时,即时不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public boolean isDaylightSavings(Instant instant)
instant
-找到偏移信息,即时不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public boolean isValidOffset(LocalDateTime localDateTime, ZoneOffset offset)
要有效,本地日期时间必须不在一个间隔中,偏移量必须与有效偏移量的一个匹配。
这getValidOffsets(java.time.LocalDateTime)
默认实现检查是否包含指定的偏移量。
localDateTime
-日期时间检查,不为空,但空可如果规则已经为所有的时刻一个偏移忽略
offset
-偏移检查、空返回false
public ZoneOffsetTransition nextTransition(Instant instant)
返回指定的即时后的下一个过渡的详细信息。例如,如果即时代表一个点,“夏天”日光节约时间适用,那么该方法将返回到下一个“冬天”的时间。
instant
-后,得到下一个过渡的瞬间不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public ZoneOffsetTransition previousTransition(Instant instant)
返回指定的即时后的前一个过渡的详细信息。例如,如果即时代表一个点,“夏天”日光节约时间适用,那么该方法将返回从以前的“冬天”时间的过渡。
instant
-后,得到一个过渡的瞬间不为空,但空可如果规则已经为所有的时刻一个偏移忽略
public List<ZoneOffsetTransition> getTransitions()
这一规则实例转换的完整的方法和getTransitionRules()
定义。此方法返回的转换,已完全定义。这些都是典型的历史,但可能是在未来。
该列表将是空的固定偏移规则和任何时区,那里只有一个单一的偏移。该列表也将是空的,如果过渡规则是未知的。
public List<ZoneOffsetTransitionRule> getTransitionRules()
这一规则实例转换的完整的方法和getTransitions()
定义。此方法返回的实例ZoneOffsetTransitionRule
定义一个算法时,转换将发生。
对于任何给定的ZoneRules
,这个列表包含的转换规则来超越那些年已完全定义。这些规则通常是指未来的日光节约时间规则的变化。
如果区域将日光节约定义为未来,那么列表将通常是大小两个,并保持有关进入和退出日光节约的信息。如果区域没有日光节约,或关于未来的变化的信息是不确定的,那么列表将是空的。
列表将是空的固定偏移规则和任何时区,在那里没有日光节约时间。该列表也将是空的,如果过渡规则是未知的。
public boolean equals(Object otherRules)
两个规则集是相等的,如果他们总是会导致相同的输出为任何给定的输入即时或本地日期时间。从两个不同的组的规则可能会返回错误的,即使他们实际上是相同的。
这个定义应该会导致比较他们的整个状态的实现。
equals
方法重写,继承类
Object
otherRules
-其他规则,空返回false
Object.hashCode()
,
HashMap
public int hashCode()
#equals
。
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.