- java.lang.Object
-
- java.time.zone.ZoneOffsetTransitionRule
-
- 实现的所有接口
-
Serializable
public final class ZoneOffsetTransitionRule extends Object implements Serializable
表达如何创建转换的规则。该类允许表达用于识别未来转换的规则。 规则可能以多种形式编写:
- 3月16日
- 3月16日或之后的星期日
- 3月16日或之前的星期日
- 二月的最后一个星期天
- 实现要求:
- 这个类是不可变的和线程安全的。
- 从以下版本开始:
- 1.8
- 另请参见:
- Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
ZoneOffsetTransitionRule.TimeDefinition
可以将本地时间转换为实际转换日期时间的方式的定义。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 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'偏移中的转换时间,不为null -
timeEndOfDay
- 是否在一天结束的时间是午夜 -
timeDefnition
- 如何解读转换 -
standardOffset
- 切换时的标准偏移量,不为空 -
offsetBefore
- 转换前的偏移量,不为空 -
offsetAfter
- 切换后的偏移量,不为空 - 结果
- 规则,不是空的
- 异常
-
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()
检查的转换的本地时间。使用时间定义将时间转换为瞬间。
- 结果
- 转换的当地时间,不为空
-
isMidnightEndOfDay
public boolean isMidnightEndOfDay()
过渡当地时间是在一天结束的午夜。转换可以表示为在24:00发生。
- 结果
- 当地的午夜时间是在当天的开始还是结束
-
getTimeDefinition
public ZoneOffsetTransitionRule.TimeDefinition getTimeDefinition()
获取时间定义,指定如何将时间转换为瞬间。可以使用标准偏移,墙偏移或UTC将本地时间转换为瞬间。
- 结果
- 时间定义,不为空
-
getStandardOffset
public ZoneOffset getStandardOffset()
获取转换时生效的标准偏移量。- 结果
- 标准偏移量,不为空
-
getOffsetBefore
public ZoneOffset getOffsetBefore()
获取转换前的偏移量。- 结果
- 之前的偏移量,不是空的
-
getOffsetAfter
public ZoneOffset getOffsetAfter()
获取转换后的偏移量。- 结果
- 之后的偏移,不是null
-
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)
-
-