Module  java.base
软件包  java.time.zone

Class ZoneOffsetTransitionRule

  • All Implemented Interfaces:
    Serializable


    public final class ZoneOffsetTransitionRule
    extends Object
    implements Serializable
    表达如何创建转换的规则。

    该类允许表达未来转换的规则。 一个规则可以写成许多形式:

    • 三月十六日
    • 3月16日或之后的星期日
    • 3月16日或之前的星期日
    • 二月最后一个星期日
    这些不同的规则类型可以被表达和查询。
    实现要求:
    这个类是不可变的和线程安全的。
    从以下版本开始:
    1.8
    另请参见:
    Serialized Form
    • 方法详细信息

      • of

        public static ZoneOffsetTransitionRule of​(Month month,
                                                  int dayOfMonthIndicator,
                                                  DayOfWeek dayOfWeek,
                                                  LocalTime time,
                                                  boolean timeEndOfDay,
                                                  ZoneOffsetTransitionRule.TimeDefinition timeDefnition,
                                                  ZoneOffset standardOffset,
                                                  ZoneOffset offsetBefore,
                                                  ZoneOffset offsetAfter)
        获取定义年度规则以在两个偏移之间创建转换的实例。

        应用程序通常应从ZoneRules获取一个实例。 本厂仅供创建ZoneRules时使用。

        参数
        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)
        检查这个对象是否等于另一个。

        比较对象的整个状态。

        重写:
        equalsObject
        参数
        otherRule - 要比较的其他对象,null返回false
        结果
        如果相等则为真
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString​()
        返回描述此对象的字符串。
        重写:
        toStringObject
        结果
        a string for debugging, not null