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

Class IsoFields



  • public final class IsoFields
    extends Object
    特定于ISO-8601日历系统的领域和单位,包括季度和周年。

    该类定义了特定于ISO日历系统的字段和单位。

    一年的一年

    ISO-8601标准是基于标准市民12个月的年份。 这通常分为四个季度,通常缩写为Q1,Q2,Q3和Q4。

    1月,2月和3月在第一季度。 四月,五月和六月是第二季度。 7月,8月和9月在第3季度。 十月,十一月和十二月在第四季度。

    完整的日期用三个字段表示:

    以周为基础的年

    ISO-8601标准最初是作为数据交换格式,定义日期和时间的字符串格式。 然而,它也定义了基于周年概念的替代方式来表达日期。

    日期用三个字段表示:

    以周为基础的年份本身就是针对ISO标准的一年。 它与标准年不同,它总是从星期一开始。

    每周一周的第一周是标准ISO年的第一个星期一星期,在新的一年中至少有4天。

    • 如果1月1日是星期一,那么第1周从1月1日开始
    • 如果1月1日是星期二,那么第1周从上一个标准年的12月31日开始
    • 如果1月1日是星期三,那么第1周从上一个标准年的12月30日开始
    • 如果1月1日是星期四,那么第1周从上一年的12月29日开始
    • 如果1月1日是星期五,那么第1周从1月4日开始
    • 如果1月1日是星期六,那么第1周从1月3日开始
    • 如果1月1日是星期天,那么第1周从1月2日开始
    在大多数星期几里有52周,但有时候有53周。

    例如:

    Examples of Week based Years Date Day-of-week Field values 2008-12-28 Sunday Week 52 of week-based-year 2008 2008-12-29 Monday Week 1 of week-based-year 2009 2008-12-31 Wednesday Week 1 of week-based-year 2009 2009-01-01 Thursday Week 1 of week-based-year 2009 2009-01-04 Sunday Week 1 of week-based-year 2009 2009-01-05 Monday Week 2 of week-based-year 2009
    实现要求:

    这个类是不可变的和线程安全的。

    从以下版本开始:
    1.8
    • 字段详细信息

      • DAY_OF_QUARTER

        public static final TemporalField DAY_OF_QUARTER
        代表季度的领域。

        该字段允许查询和设置第四季度的值。 一季度第一季度的价值从1到90,从闰年第一季度的1降到91,第2季度从1升至91,第3季度和第4季度从1下降到92。

        季度的季度只能在年份,月份和年份可用的情况下计算。

        设置此字段时,该值允许部分宽松,取值范围为1到92.如果该季度少于92天,那么第92天和潜在的第91天在下一个季度。

        在解析的解决阶段,可以从年份,季度和季度创建日期。

        strict mode中 ,所有三个字段都根据其有效值的范围进行验证。 四分之一场地的验证时间为1到90,91或92,具体取决于年份和季度。

        smart mode中 ,所有三个字段都根据其有效值的范围进行验证。 四分之一场地在1到92之间验证,忽略了基于年和季的实际范围。 如果一天中的日期超过实际范围一天,则所生成的日期将在一天之后。 如果季度的日期超过实际范围两天,则最后的日期是两天后。

        lenient mode中 ,仅在有效值的范围内验证年份。 产生的日期相当于以下三个阶段的方法。 首先,在请求的一年的1月1日创建一个日期。 然后取一年的四分之一,减去一个,并将季度的金额添加到日期。 最后,取一季度,减去一个,并将日期中的金额加到日期。

        这个单位是一个不可变的和线程安全的单身人士。

      • QUARTER_OF_YEAR

        public static final TemporalField QUARTER_OF_YEAR
        代表季度的领域。

        该字段允许查询和设置四分之一年的值。 四分之一年的价值从1到4。

        仅当年份可用时,才能计算四分之一季度。

        在解析的解决阶段,可以从年份,季度和季度创建日期。 详见DAY_OF_QUARTER

        这个单位是一个不可变的和线程安全的单身人士。

      • WEEK_OF_WEEK_BASED_YEAR

        public static final TemporalField WEEK_OF_WEEK_BASED_YEAR
        代表周周的一年的领域。

        该字段允许查询和设置基于周的年份值。 星期几每周的价值从1到52,如果周为基期为53周,则为53。

        在解析的解决阶段,可以从基于周的年份,周周的年份和星期几创建日期。

        strict mode中 ,所有三个字段都根据其有效值的范围进行验证。 星期几的年度字段的验证从1到52或53,取决于周年。

        smart mode中 ,所有三个字段都根据其有效值的范围进行验证。 星期几的年度字段在1到53之间验证,忽略了周年。 如果周的周数为53,但周为周,则只有52周,所以日期是在下周的第1周。

        lenient mode中 ,仅针对每周的有效值的范围进行验证。 如果星期几超出了1到7的范围,那么生成的日期将被调整适当的周数,以将星期几降至1到7的范围。如果周的周数,基础年值在1到52之间,然后从结果日期添加或减去任何超过周数。

        这个单位是一个不可变的和线程安全的单身人士。

      • WEEK_BASED_YEAR

        public static final TemporalField WEEK_BASED_YEAR
        代表周年的领域。

        该字段允许查询和设置基于周的年份值。

        该字段的范围匹配LocalDate.MAXLocalDate.MIN

        在解析的解决阶段,可以从基于周的年份,周周的年份和星期几创建日期。 详见WEEK_OF_WEEK_BASED_YEAR

        这个单位是一个不可变的和线程安全的单身人士。

      • WEEK_BASED_YEARS

        public static final TemporalUnit WEEK_BASED_YEARS
        以加法和减法为目的的以星期为单位的单位。

        这允许将一些以周为基础的年数添加到日期或从日期中减去。 该单位等于52或53周。 一周的估计持续时间与365.2425 Days的标准ISO年度365.2425 Days

        添加规则将以周为基数的年数添加到基于周的年份字段的现有值。 如果由此产生的周年只有52周,那么日期将在下一周的第1周。

        这个单位是一个不可变的和线程安全的单身人士。

      • QUARTER_YEARS

        public static final TemporalUnit QUARTER_YEARS
        代表四分之一年概念的单位。 对于ISO日历系统,它等于3个月。 四分之一年的估计时间是365.2425 Days四分之一。

        这个单位是一个不可变的和线程安全的单身人士。