儒略日是科学界常用的表示日期和时间的标准方式。它表示为整数天的十进制数,其中天数从中午开始。此类代表从午夜开始计算整日的儒略日的变体。
这些字段是相对于 EPOCH_DAY 实现的。字段是支持的,如果有EPOCH_DAY可以查询和设置。这些字段适用于所有年表。
- 实现要求:
- 这是一个不可变且线程安全的类。
- 自从:
- 1.8
-
字段摘要
字段修饰符和类型Field描述static final TemporalField儒略日字段。static final TemporalField修改后的儒略日字段。static final TemporalField拉塔模场。 -
方法总结
-
字段详细信息
-
JULIAN_DAY
儒略日字段。这是儒略日数的基于整数的版本。 Julian Day 是一个众所周知的系统,表示从第 0 天开始的整日计数,在 Julian 日历中定义为公元前 4713 年 1 月 1 日,公历 -4713-11-24。该字段将“JulianDay”作为“名称”,将“DAYS”作为“baseUnit”。该字段始终引用本地日期时间,忽略偏移量或区域。
对于日期时间,“JULIAN_DAY.getFrom()”从午夜到下一个午夜之前采用相同的值。当“JULIAN_DAY.adjustInto()”应用于日期时间时,时间部分保持不变。 'JULIAN_DAY.adjustInto()' 和 'JULIAN_DAY.getFrom()' 仅适用于可以转换为
ChronoField.EPOCH_DAY的Temporal对象。任何其他类型的对象都会抛出UnsupportedTemporalTypeException。在解析的解析阶段,可以从儒略日字段创建日期。在 严格模式 和 智能模式 中,根据有效值范围验证儒略日值。在 宽松模式 中没有验证发生。
天文科学笔记
标准的天文学定义使用分数来表示一天中的时间,每天从中午到中午计算。例如,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
修改后的儒略日字段。这是修改后的儒略日数的基于整数的版本。改进的儒略日 (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。
在解析的解析阶段,可以从修改后的儒略日字段创建日期。在 严格模式 和 智能模式 中,修改后的儒略日值根据有效值范围进行验证。在 宽松模式 中没有验证发生。
天文科学笔记
| 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 |
修改后的儒略日有时被认为是指世界时或 UTC,但此实现始终使用修改后的儒略日作为本地日期,而不管偏移量或时区如何。 -
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 字段创建日期。在 严格模式 和 智能模式 中,Rata Die 值根据有效值范围进行验证。在 宽松模式 中没有验证发生。
-