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

Class JulianFields



  • public final class JulianFields
    extends Object
    一组提供访问朱利安日的日期字段。

    朱利安日是表达科学界常用日期和时间的标准方式。 它表示为从中午开始天数的整数天的十进制数。 这个班级代表了从傍晚的整个日子算起的朱利安天数变化。

    这些字段相对于EPOCH_DAY实现。 支持这些字段,如果有EPOCH_DAY可用,可以查询和设置。 这些领域与所有时间表一起工作。

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

      • JULIAN_DAY

        public static final TemporalField JULIAN_DAY
        朱利安日字段。

        这是一个基于整数的儒略日号的版本。 朱利安日是一个众所周知的系统,代表了从第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被抛出任何其他类型的对象。

        在解析的解析阶段,可以从儒略日字段创建日期。 strict modesmart mode中 ,朱利安日值根据有效值的范围进行验证。 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,但是这个实现总是使用当地日期的儒略日号码,无论偏移量还是时区。

      • MODIFIED_JULIAN_DAY

        public static final TemporalField MODIFIED_JULIAN_DAY
        修改儒略日字段。

        这是一个基于整数的修改儒略日号的版本。 修改朱利安日(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的整数版本,小数部分舍入为floor。

        在解析的解析阶段,可以从修改的儒略日字段创建日期。 strict modesmart mode中 ,修改的朱利安日值根据有效值的范围进行验证。 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 Days有时被用来表示“世界时间”或“UTC”,但这个实现始终使用修改后的儒略日作为本地日期,而不考虑偏移或时区。
      • RATA_DIE

        public static final TemporalField RATA_DIE
        拉塔死场。

        在零零零年1-01-01年(ISO)开始的午夜,Rata Die从第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没有验证。