public final class ZoneOffset extends ZoneId implements TemporalAccessor, TemporalAdjuster, Comparable<ZoneOffset>, Serializable
+02:00。
一个时区偏移时间时区不同于格林尼治/ UTC。这通常是一个固定的小时数和分钟数。
世界不同地区有不同的时区偏移。如何补偿的规则有所不同的地方,一年的时间,在ZoneId类捕获。
例如,巴黎在夏天在格林尼治/ UTC在冬季和两小时提前一个小时。巴黎的ZoneId实例将参考两ZoneOffset实例-一个冬天的+01:00实例,和夏+02:00实例。
2008、时区偏移量在全世界扩展从12:00至14:00 +。为了防止与范围扩展的任何问题,但仍然提供验证、补偿的范围限于18:00至18:00包容。
此类被设计为使用与国际标准组织日历系统。小时,分,秒的领域,使假设是有效的标准的国际标准化组织的定义,这些领域。这个类可以与其他日历系统一起使用,提供与时间域的定义相匹配的日历系统的定义。
ZoneOffset实例必须使用equals(java.lang.Object)相比。实现可能会选择缓存某些常见的偏移量,但是应用程序不能依赖这样的缓存。
这是一个value-based类;利用身份敏感的操作(包括引用相等(==),身份的哈希代码,或同步)的实例ZoneOffset可能有不可预知的结果应该是可以避免的。的equals法进行比较。
| Modifier and Type | Field and Description |
|---|---|
static ZoneOffset |
MAX
最大支持偏移量的常数。
|
static ZoneOffset |
MIN
最大支持偏移量的常数。
|
static ZoneOffset |
UTC
时区偏移时,用“Z”身份。
|
| Modifier and Type | Method and Description |
|---|---|
Temporal |
adjustInto(Temporal temporal)
调整指定的时间对象,以具有相同的偏移量为这个对象。
|
int |
compareTo(ZoneOffset other)
将此偏移量与另一个递减顺序的偏移量进行比较。
|
boolean |
equals(Object obj)
检查此偏移是否等于另一个偏移量。
|
static ZoneOffset |
from(TemporalAccessor temporal)
获得
ZoneOffset实例从一个时空对象。
|
int |
get(TemporalField field)
获取指定字段的值,从这一
int偏移。
|
String |
getId()
获取归一化区域偏移ID.
|
long |
getLong(TemporalField field)
获取指定字段的值,从这一
long偏移。
|
ZoneRules |
getRules()
获取关联的时区规则。
|
int |
getTotalSeconds()
获取在秒中的总区域偏移量。
|
int |
hashCode()
此偏移量的哈希代码。
|
boolean |
isSupported(TemporalField field)
检查指定字段是否被支持。
|
static ZoneOffset |
of(String offsetId)
得到一个实例
ZoneOffset使用ID。
|
static ZoneOffset |
ofHours(int hours)
得到一个实例
ZoneOffset使用偏移时间。
|
static ZoneOffset |
ofHoursMinutes(int hours, int minutes)
得到一个实例
ZoneOffset以小时和分钟偏移。
|
static ZoneOffset |
ofHoursMinutesSeconds(int hours, int minutes, int seconds)
获得使用小时偏移
ZoneOffset实例,分钟和秒。
|
static ZoneOffset |
ofTotalSeconds(int totalSeconds)
获得
ZoneOffset指定总秒偏移实例
|
<R> R |
query(TemporalQuery<R> query)
使用指定的查询查询此偏移量。
|
ValueRange |
range(TemporalField field)
获取指定字段的有效值的范围。
|
String |
toString()
这是一个
String输出偏移,利用归一化的ID。
|
getAvailableZoneIds, getDisplayName, normalized, of, ofOffset, systemDefaultpublic static final ZoneOffset UTC
public static final ZoneOffset MIN
public static final ZoneOffset MAX
public static ZoneOffset of(String offsetId)
ZoneOffset使用ID。
此方法分析一个ZoneOffset字符串ID返回的实例。解析接收所有格式所产生的getId(),加上一些额外的格式:
Z - UTC+h+hh+hh:mm-hh:mm+hhmm-hhmm+hh:mm:ss-hh:mm:ss+hhmmss-hhmmss返回的抵消ID将被标准化为一个描述的getId()格式。
所支持的最大范围是从18:00至18:00包容。
offsetId -偏移的ID,不为空
DateTimeException如果偏移ID无效
public static ZoneOffset ofHours(int hours)
ZoneOffset使用偏移时间。
hours -时区时差,从18到18
DateTimeException如果偏移不在要求的范围内
public static ZoneOffset ofHoursMinutes(int hours, int minutes)
ZoneOffset以小时和分钟偏移。
小时和分钟组件的符号必须匹配。因此,如果时间是负的,则记录的时间必须为负或零。如果时间为零,则分钟可能是正的,负的或零。
hours -时区时差,从18到18
minutes的时区偏移量在几分钟内,从0到59小时±,标配
DateTimeException如果偏移不在要求的范围内
public static ZoneOffset ofHoursMinutesSeconds(int hours, int minutes, int seconds)
ZoneOffset实例,分钟和秒。
小时,分,秒组件的符号必须匹配。因此,如果时间是负的,分和秒必须是负或零。
hours -时区时差,从18到18
minutes的时区偏移量在几分钟内,从0到±标配59,小时和秒
seconds的时区偏移量在几秒钟内,从0到±标配59,小时和分钟
DateTimeException如果偏移不在要求的范围内
public static ZoneOffset from(TemporalAccessor temporal)
ZoneOffset实例从一个时空对象。
这得到一个偏移的基础上指定的时间。一个TemporalAccessor表示日期和时间信息,任意设置,本厂将以ZoneOffset实例。
一个TemporalAccessor代表某种形式的日期和时间信息。本厂将任意时空对象的一个实例ZoneOffset。
转换使用TemporalQueries.offset()查询,这依赖于提取OFFSET_SECONDS场。
这种方法相匹配的功能接口TemporalQuery可以通过方法引用查询中的签名,ZoneOffset::from。
temporal -转换时间的对象,不为空
DateTimeException如果无法转换到一个
ZoneOffset
public static ZoneOffset ofTotalSeconds(int totalSeconds)
ZoneOffset指定秒
偏移量必须在范围-18:00到+18:00,对应64800到64800。
totalSeconds -总的时区偏移量在几秒钟内,从64800到64800
DateTimeException如果偏移不在要求的范围内
public int getTotalSeconds()
这是访问偏移量的主要方式。它返回的时间,分和秒字段作为一个单一的偏移量,可以添加到一个时间。
public String getId()
ID是标准格式化字符串的偏移ISO-8601轻微变化。有三种格式:
Z - UTC(ISO-8601)+hh:mm或-hh:mm如果秒零(ISO-8601)+hh:mm:ss或-hh:mm:ss如果秒数非零(不是ISO-8601)public ZoneRules getRules()
当查询时,规则将总是返回此偏移量。实现类是不可变的,线程安全和可串行化。
public boolean isSupported(TemporalField field)
此检查如果此偏移量可以查询指定的字段。如果为false,则调用range和get方法将抛出一个异常。
如果该字段是ChronoField然后查询执行。的OFFSET_SECONDS场返回true。所有其他ChronoField实例将返回false。
如果该字段是不是ChronoField,然后通过调用作为参数传递this TemporalField.isSupportedBy(TemporalAccessor)得到此方法的结果。是否支持字段由字段确定。
isSupported 接口
TemporalAccessor
field -现场检查null返回false
public ValueRange range(TemporalField field)
该范围对象表示字段的最小值和最大有效值。此偏移是用来提高返回范围的准确性。如果它是不可能返回的范围,因为字段不支持或其他一些原因,抛出一个异常。
如果该字段是ChronoField然后查询执行。的supported fields将返回适当的范围的情况下。所有其他ChronoField实例将抛出一个UnsupportedTemporalTypeException。
如果该字段是不是ChronoField,然后通过调用作为参数传递this TemporalField.rangeRefinedBy(TemporalAccessor)得到此方法的结果。是否可以得到范围是由字段确定的。
range 接口
TemporalAccessor
field -现场查询范围,不为空
DateTimeException如果不能得到的领域范围
UnsupportedTemporalTypeException如果字段不支持
public int get(TemporalField field)
int偏移。
此查询此偏移量为指定字段的值。返回的值将始终在字段的有效值范围内。如果不可能返回值,因为字段不支持或其他原因,则抛出异常。
如果该字段是ChronoField然后查询执行。的OFFSET_SECONDS字段返回的偏移值。所有其他ChronoField实例将抛出一个UnsupportedTemporalTypeException。
如果该字段是不是ChronoField,然后通过调用作为参数传递this TemporalField.getFrom(TemporalAccessor)得到此方法的结果。是否可以得到值,以及值表示的值,由字段确定。
get 接口
TemporalAccessor
field -领域有,不空
DateTimeException如果字段的值是不能获得或值不在字段的有效值范围内
UnsupportedTemporalTypeException -如果字段不支持或值的范围超过一个
int
ArithmeticException如果数值溢出时
public long getLong(TemporalField field)
long偏移。
此查询此偏移量为指定字段的值。如果不可能返回值,因为字段不支持或其他原因,则抛出异常。
如果该字段是ChronoField然后查询执行。的OFFSET_SECONDS字段返回的偏移值。所有其他ChronoField实例将抛出一个UnsupportedTemporalTypeException。
如果该字段是不是ChronoField,然后通过调用作为参数传递this TemporalField.getFrom(TemporalAccessor)得到此方法的结果。是否可以得到值,以及值表示的值,由字段确定。
getLong 接口
TemporalAccessor
field -领域有,不空
DateTimeException如果不能得到一个价值领域
UnsupportedTemporalTypeException如果字段不支持
ArithmeticException如果数值溢出时
public <R> R query(TemporalQuery<R> query)
此使用指定的查询策略对象查询此偏移量。的TemporalQuery对象定义了用来获得结果的逻辑。阅读查询的文档,了解该方法的结果将是什么。
这种方法的结果是通过调用指定的查询通过this作为论据的TemporalQuery.queryFrom(TemporalAccessor)方法得到的。
query 接口
TemporalAccessor
R -结果的类型
query -调用查询,不空
DateTimeException如果无法查询(查询所定义)
ArithmeticException如果数值溢出时(由查询定义)
public Temporal adjustInto(Temporal temporal)
这将返回一个相同的可观察类型的时间对象,与偏移量的输入与此相同。
调整是相当于用Temporal.with(TemporalField, long)传递ChronoField.OFFSET_SECONDS作为现场。
在大多数情况下,更清晰的用Temporal.with(TemporalAdjuster)反向调用模式:
这两条线是等价的,但第二种方法是建议时间= thisoffset adjustinto(时间);时间=(thisoffset)与时间;
此实例是不可变的,不受此方法调用的影响。
adjustInto 接口
TemporalAdjuster
temporal -调整目标对象,不为空
DateTimeException如果无法适应
ArithmeticException如果数值溢出时
public int compareTo(ZoneOffset other)
的偏移量进行比较的顺序,他们发生在世界各地的相同的时间。因此,对+10:00抵消之前的+09:00偏移等下来-18:00。
比较是“等于”一致,所定义的Comparable。
compareTo 接口
Comparable<ZoneOffset>
other -其他日期进行比较,不为空
NullPointerException -如果
other是空的
public boolean equals(Object obj)
该比较是基于在秒的偏移量。这相当于通过身份证的比较。
equals 方法重写,继承类
ZoneId
obj -检查对象,空返回false
Object.hashCode(),
HashMap
public int hashCode()
hashCode 方法重写,继承类
ZoneId
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.