java.lang.Object
java.time.zone.ZoneOffsetTransitionRule
- 所有已实现的接口:
-
Serializable
表达如何创建转换的规则。
此类允许表达用于识别未来转换的规则。规则可以以许多形式编写:
- 3月16日
- 3月16日后的星期日
- 3月16日前的星期日
- 2月的最后一个星期日
- 实现要求:
- 此类是不可变的且线程安全的。
- 自版本:
- 1.8
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
本地时间如何转换为实际转换日期时间的定义。 -
Method Summary
Modifier and TypeMethodDescriptioncreateTransition
(int year) 为指定年份创建转换实例。boolean
检查此对象是否等于另一个对象。int
获取转换的日期的月份指示器。获取转换的星期几。获取转换的当天本地时间,必须与isMidnightEndOfDay()
一起检查。getMonth()
获取转换的月份。获取转换后的偏移量。获取转换前的偏移量。获取转换时生效的标准偏移量。获取时间定义,指定如何将时间转换为时刻。int
hashCode()
返回适当的哈希码。boolean
转换的本地时间是否午夜结束。static ZoneOffsetTransitionRule
of
(Month month, int dayOfMonthIndicator, DayOfWeek dayOfWeek, LocalTime time, boolean timeEndOfDay, ZoneOffsetTransitionRule.TimeDefinition timeDefinition, ZoneOffset standardOffset, ZoneOffset offsetBefore, ZoneOffset offsetAfter) 获取定义年度规则以在两个偏移之间创建转换的实例。toString()
返回描述此对象的字符串。
-
Method Details
-
of
public static ZoneOffsetTransitionRule of(Month month, int dayOfMonthIndicator, DayOfWeek dayOfWeek, LocalTime time, boolean timeEndOfDay, ZoneOffsetTransitionRule.TimeDefinition timeDefinition, ZoneOffset standardOffset, ZoneOffset offsetBefore, ZoneOffset offsetAfter) - 参数:
-
month
- 第一个切换周的月份日期,不能为空 -
dayOfMonthIndicator
- 切换周的月份日期,如果该周是该天或之后,则为正,如果该周是该天或之前,则为负,从月底开始计算,从-28到31,不包括0 -
dayOfWeek
- 所需的星期几,如果月份日期不应更改,则为空 -
time
- 'before'偏移的切换时间,不能为空 -
timeEndOfDay
- 时间是否午夜结束 -
timeDefinition
- 如何解释切换 -
standardOffset
- 切换时生效的标准偏移量,不能为空 -
offsetBefore
- 切换前的偏移量,不能为空 -
offsetAfter
- 切换后的偏移量,不能为空 - 返回:
- 规则,不能为空
- 抛出:
-
IllegalArgumentException
- 如果月份指示器无效 -
IllegalArgumentException
- 如果时间不是午夜时返回true -
IllegalArgumentException
- 如果time.getNano()
返回非零值
-
getMonth
获取转换的月份。如果规则定义了确切日期,则月份是该日期的月份。
如果规则定义了转换可能发生的周,则月份是切换日期的最早或最晚可能日期的月份。
- 返回:
- 转换的月份,不能为空
-
getDayOfMonthIndicator
public int getDayOfMonthIndicator()获取转换的日期的月份指示器。如果规则定义了确切日期,则日期是该日期的月份。
如果规则定义了转换可能发生的周,则日期定义了转换周的开始或结束。
如果值为正,则表示正常的日期,是转换可能发生的最早日期。日期可能指的是2月29日,在非闰年中应视为3月1日。
如果值为负,则表示从月底开始的天数,其中
-1
是月底的最后一天。在这种情况下,标识的日期是转换可能发生的最晚日期。- 返回:
- 日期的月份指示器,从-28到31,不包括0
-
getDayOfWeek
获取转换的星期几。如果规则定义了确切日期,则返回null。
如果规则定义了转换可能发生的周,则此方法返回月日将调整为的星期几。如果日期为正,则调整较晚。如果日期为负,则调整较早。
- 返回:
- 转换发生的星期几,如果规则定义了确切日期,则返回null
-
getLocalTime
获取转换的当天本地时间,必须与isMidnightEndOfDay()
一起检查。时间将使用时间定义转换为时刻。
- 返回:
- 转换的当天本地时间,不能为空
-
isMidnightEndOfDay
public boolean isMidnightEndOfDay()转换的本地时间是否午夜结束。转换可以表示为发生在24:00。
- 返回:
- 本地时间午夜是一天的开始还是结束
-
getTimeDefinition
获取时间定义,指定如何将时间转换为时刻。本地时间可以使用标准偏移、墙壁偏移或UTC转换为时刻。
- 返回:
- 时间定义,不能为空
-
getStandardOffset
获取转换时生效的标准偏移量。- 返回:
- 标准偏移量,不能为空
-
getOffsetBefore
获取转换前的偏移量。- 返回:
- 前偏移量,不能为空
-
getOffsetAfter
获取转换后的偏移量。- 返回:
- 后偏移量,不能为空
-
createTransition
为指定年份创建转换实例。计算使用ISO-8601年表。
- 参数:
-
year
- 要为其创建转换的年份,不能为空 - 返回:
- 转换实例,不能为空
-
equals
检查此对象是否等于另一个对象。将对象的整个状态进行比较。
-
hashCode
public int hashCode()返回适当的哈希码。 -
toString
返回描述此对象的字符串。
-