- 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 classZoneOffsetTransitionRule.TimeDefinition本地时间可以转换为实际转换日期时间的方式的定义。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 ZoneOffsetTransitioncreateTransition(int year)创建指定年份的转换实例。booleanequals(Object otherRule)检查这个对象是否等于另一个。intgetDayOfMonthIndicator()获得转型月份的指标。DayOfWeekgetDayOfWeek()获得过渡的星期几。LocalTimegetLocalTime()获取必须用isMidnightEndOfDay()进行检查的 当地时间 。MonthgetMonth()获得过渡的月份。ZoneOffsetgetOffsetAfter()获得转换后的偏移量。ZoneOffsetgetOffsetBefore()在转换之前获取偏移量。ZoneOffsetgetStandardOffset()在转换时获得有效的标准偏移量。ZoneOffsetTransitionRule.TimeDefinitiongetTimeDefinition()获取时间定义,指定如何将时间转换为即时。inthashCode()返回一个合适的哈希码。booleanisMidnightEndOfDay()当天的时间是午夜的过渡时间。static ZoneOffsetTransitionRuleof(Month month, int dayOfMonthIndicator, DayOfWeek dayOfWeek, LocalTime time, boolean timeEndOfDay, ZoneOffsetTransitionRule.TimeDefinition timeDefnition, ZoneOffset standardOffset, ZoneOffset offsetBefore, ZoneOffset offsetAfter)获取定义年度规则以在两个偏移之间创建转换的实例。StringtoString()返回描述此对象的字符串。
-
-
-
方法详细信息
-
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)
-
-