- java.lang.Object
-
- java.time.zone.ZoneOffsetTransitionRule
-
- All Implemented Interfaces:
-
Serializable
public final class ZoneOffsetTransitionRule extends Object implements Serializable
表达如何创建转换的规则。该类允许表达未来转换的规则。 一个规则可以写成许多形式:
- 三月十六日
- 3月16日或之后的星期日
- 3月16日或之前的星期日
- 二月最后一个星期日
- 实现要求:
- 这个类是不可变的和线程安全的。
- 从以下版本开始:
- 1.8
- 另请参见:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
ZoneOffsetTransitionRule.TimeDefinition
本地时间可以转换为实际转换日期时间的方式的定义。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 ZoneOffsetTransition
createTransition(int year)
创建指定年份的转换实例。boolean
equals(Object otherRule)
检查这个对象是否等于另一个。int
getDayOfMonthIndicator()
获得转型月份的指标。DayOfWeek
getDayOfWeek()
获得过渡的星期几。LocalTime
getLocalTime()
获取必须用isMidnightEndOfDay()
进行检查的 当地时间 。Month
getMonth()
获得过渡的月份。ZoneOffset
getOffsetAfter()
获得转换后的偏移量。ZoneOffset
getOffsetBefore()
在转换之前获取偏移量。ZoneOffset
getStandardOffset()
在转换时获得有效的标准偏移量。ZoneOffsetTransitionRule.TimeDefinition
getTimeDefinition()
获取时间定义,指定如何将时间转换为即时。int
hashCode()
返回一个合适的哈希码。boolean
isMidnightEndOfDay()
当天的时间是午夜的过渡时间。static ZoneOffsetTransitionRule
of(Month month, int dayOfMonthIndicator, DayOfWeek dayOfWeek, LocalTime time, boolean timeEndOfDay, ZoneOffsetTransitionRule.TimeDefinition timeDefnition, ZoneOffset standardOffset, ZoneOffset offsetBefore, ZoneOffset offsetAfter)
获取定义年度规则以在两个偏移之间创建转换的实例。String
toString()
返回描述此对象的字符串。
-
-
-
方法详细信息
-
of
public static ZoneOffsetTransitionRule of(Month month, int dayOfMonthIndicator, DayOfWeek dayOfWeek, LocalTime time, boolean timeEndOfDay, ZoneOffsetTransitionRule.TimeDefinition timeDefnition, ZoneOffset standardOffset, ZoneOffset offsetBefore, ZoneOffset offsetAfter)
- 参数
-
month
- 割接周的第一天的月 - 日的月份,不为空 -
dayOfMonthIndicator
- 切割周的月日,如果周是当天或以后,则为正,如果周为当天或更早,则为从该日最后一天起计,从-28减去31除外0 -
dayOfWeek
- 所需的星期几,如果月日不应该更改,则为null -
time
- 'before'偏移量的割接时间,不为空 -
timeEndOfDay
- 是否在一天结束时间是午夜 -
timeDefnition
- 如何解释割接 -
standardOffset
- 割接时的标准偏移量,不为空 -
offsetBefore
- 割接前的偏移量,不为空 -
offsetAfter
- 割接后的偏移量,不为空 - 结果
- 规则,不为null
- 异常
-
IllegalArgumentException
- 如果日指标无效 -
IllegalArgumentException
- 当时间不是午夜时,如果结束日标志为真 -
IllegalArgumentException
- 如果time.getNano()
返回非零值
-
getMonth
public Month getMonth()
获得过渡的月份。如果规则定义了确切的日期,则该月份是该日期的月份。
如果规则定义了可能发生转换的一周,那么月份是割接的最早或最晚可能日期的月份。
- 结果
- 过渡的月份,不为空
-
getDayOfMonthIndicator
public int getDayOfMonthIndicator()
获得转型月份的指标。如果规则定义了确切的日期,则该日期是该日期的月份。
如果规则定义了可能发生转换的一周,则该日期定义转换周期结束的开始。
如果值为正值,则表示正常的日期,并且是过渡可能的最早可能的日期。 日期可能指的是2月29日,应在非闰年内被视为3月1日。
如果值为负数,则表示从月末的最后一天的
-1
月底开始的天数。 在这种情况下,确定的日期是过渡可能的最新日期。- 结果
- 月份指标,从-28到31,不包括0
-
getDayOfWeek
public DayOfWeek getDayOfWeek()
获得过渡的星期几。如果规则定义了一个确切的日期,那么这将返回null。
如果规则定义了可能发生割接的一周,则此方法将返回月日将被调整到的星期几。 如果当天是正面的,那么调整是晚了。 如果一天是负数,则调整较早。
- 结果
- 转换发生的星期几,如果规则定义了确切的日期,则为null
-
getLocalTime
public LocalTime getLocalTime()
获取必须用isMidnightEndOfDay()
检查的转换当天的当地时间 。使用时间定义将时间转换成即时。
- 结果
- 当地时间的过渡,不是null
-
isMidnightEndOfDay
public boolean isMidnightEndOfDay()
当天的时间是午夜的过渡时间。转换可能表示为发生在24:00。
- 结果
- 当地的午夜时间是在一天的开始还是结束
-
getTimeDefinition
public ZoneOffsetTransitionRule.TimeDefinition getTimeDefinition()
获取时间定义,指定如何将时间转换为即时。当地时间可以使用标准偏移量,壁偏移或UTC转换为即时。
- 结果
- 时间定义,不为空
-
getStandardOffset
public ZoneOffset getStandardOffset()
在转换时获得有效的标准偏移量。- 结果
- 标准偏移,不为空
-
getOffsetBefore
public ZoneOffset getOffsetBefore()
在转换之前获取偏移量。- 结果
- 之前的偏移量,不为空
-
getOffsetAfter
public ZoneOffset getOffsetAfter()
获得转换后的偏移量。- 结果
- 偏移量后,不为空
-
createTransition
public ZoneOffsetTransition createTransition(int year)
创建指定年份的转换实例。使用ISO-8601年表进行计算。
- 参数
-
year
- 创建转换的年份,不为null - 结果
- 转换实例,不为null
-
equals
public boolean equals(Object otherRule)
检查这个对象是否等于另一个。比较对象的整个状态。
- 重写:
-
equals
在Object
- 参数
-
otherRule
- 要比较的其他对象,null返回false - 结果
- 如果相等则为真
- 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回一个合适的哈希码。- 重写:
-
hashCode
在Object
- 结果
- 哈希码
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-