模块  java.base
软件包  java.time.temporal

Class JulianFields


  • public final class JulianFields
    extends Object
    一组日期字段,提供对Julian Days的访问。

    朱利安日是表达科学界常用日期和时间的标准方式。 它表示为中午从中午开始的整天的十进制数。 此类表示从午夜算起的整天的朱利安日的变化。

    这些字段是相对于EPOCH_DAY实现的。 支持这些字段,如果EPOCH_DAY可用,则可以查询和设置这些字段。 这些字段适用于所有年代表。

    实现要求:
    这是一个不可变且线程安全的类。
    从以下版本开始:
    1.8
    • 字段详细信息

      • JULIAN_DAY

        public static final TemporalField JULIAN_DAY
        朱利安日场。

        这是Julian Day Number的基于整数的版本。 朱利安日是一个众所周知的系统,代表自第0天以来的整天计数,其定义为公元前4713年1月1日,朱利安历法和-4713-11-24公历。 该字段的“JulianDay”为“name”,“DAYS”为“baseUnit”。 该字段始终引用本地日期时间,忽略偏移或区域。

        对于日期时间,'JULIAN_DAY.getFrom()'从午夜到下一个午夜之前采用相同的值。 当'JULIAN_DAY.adjustInto()'应用于日期时间时,时间部分保持不变。 'JULIAN_DAY.adjustInto()'和'JULIAN_DAY.getFrom()'仅适用于可转换为ChronoField.EPOCH_DAY Temporal对象。 对于任何其他类型的对象,抛出UnsupportedTemporalTypeException

        在解析的解析阶段,可以从Julian Day字段创建日期。 strict modesmart mode中 ,Julian Day值根据有效值范围进行验证。 lenient mode中未进行验证。

        天文和科学笔记

        标准天文定义使用一小部分来表示每天的时间,其中每天从中午到中午计算。 例如,0的分数表示中午,0.25的分数表示18:00,0.5的分数表示午夜,0.75的分数表示06:00。

        相比之下,此实现没有小数部分,并计算从午夜到午夜的天数。 此实现使用整数和从午夜开始的天数。 朱利安日数的整数值是相关日期中午的天文朱利安日值。 这相当于天文数字朱利安日,四舍五入为整数JDN = floor(JD + 0.5)

          | ISO date          |  Julian Day Number | Astronomical Julian Day |
          | 1970-01-01T00:00  |         2,440,588  |         2,440,587.5     |
          | 1970-01-01T06:00  |         2,440,588  |         2,440,587.75    |
          | 1970-01-01T12:00  |         2,440,588  |         2,440,588.0     |
          | 1970-01-01T18:00  |         2,440,588  |         2,440,588.25    |
          | 1970-01-02T00:00  |         2,440,589  |         2,440,588.5     |
          | 1970-01-02T06:00  |         2,440,589  |         2,440,588.75    |
          | 1970-01-02T12:00  |         2,440,589  |         2,440,589.0     | 

        Julian Days有时被视为暗示通用时间或UTC,但此实现始终使用当地日期的Julian Day编号,无论偏移或时区如何。

      • MODIFIED_JULIAN_DAY

        public static final TemporalField MODIFIED_JULIAN_DAY
        修改了Julian Day字段。

        这是Modified Julian Day Number的基于整数的版本。 修改后的朱利安日(MJD)是一个众所周知的系统,连续数日。 它相对于天文学朱利安日定义为MJD = JD - 2400000.5 每个修改过的朱利安日都从午夜到午夜。 该字段始终引用本地日期时间,忽略偏移或区域。

        对于日期时间,'MODIFIED_JULIAN_DAY.getFrom()'从午夜到下一个午夜之前采用相同的值。 当'MODIFIED_JULIAN_DAY.adjustInto()'应用于日期时间时,时间部分保持不变。 'MODIFIED_JULIAN_DAY.adjustInto()'和'MODIFIED_JULIAN_DAY.getFrom()'仅适用于可转换为ChronoField.EPOCH_DAY Temporal对象。 对于任何其他类型的对象,抛出UnsupportedTemporalTypeException

        此实现是MJD的整数版本,小数部分舍入到楼层。

        在解析的解析阶段,可以从Modified Julian Day字段创建日期。 strict modesmart mode中 ,修改的Julian Day值根据有效值范围进行验证。 lenient mode中未进行验证。

        天文和科学笔记

          | ISO date          | Modified Julian Day |      Decimal MJD |
          | 1970-01-01T00:00  |             40,587  |       40,587.0   |
          | 1970-01-01T06:00  |             40,587  |       40,587.25  |
          | 1970-01-01T12:00  |             40,587  |       40,587.5   |
          | 1970-01-01T18:00  |             40,587  |       40,587.75  |
          | 1970-01-02T00:00  |             40,588  |       40,588.0   |
          | 1970-01-02T06:00  |             40,588  |       40,588.25  |
          | 1970-01-02T12:00  |             40,588  |       40,588.5   | 
        修改后的Julian天有时被视为暗示通用时间或UTC,但此实现始终使用修改的Julian Day作为本地日期,无论偏移量或时区如何。
      • RATA_DIE

        public static final TemporalField RATA_DIE
        拉塔模具领域。

        Rata Die从0001-01-01(ISO)开始的第1天午夜开始连续计算整天。 该字段始终引用本地日期时间,忽略偏移或区域。

        对于日期时间,'RATA_DIE.getFrom()'从午夜到下一个午夜之前采用相同的值。 当'RATA_DIE.adjustInto()'应用于日期时间时,时间部分保持不变。 'RATA_DIE.adjustInto()'和'RATA_DIE.getFrom()'仅适用于可转换为ChronoField.EPOCH_DAY Temporal对象。 对于任何其他类型的对象,抛出UnsupportedTemporalTypeException

        在解析的解析阶段,可以从Rata Die字段创建日期。 strict modesmart mode中 ,Rata Die值根据有效值范围进行验证。 lenient mode中未进行验证。