public final class JulianFields extends Object
朱利安日是表达科学界常用日期和时间的标准方式。 它表示为从中午开始天数的整数天的十进制数。 这个班级代表了从傍晚的整个日子算起的朱利安天数变化。
这些字段相对于EPOCH_DAY
实现 。 这些字段是支持的,如果EPOCH_DAY
可用,可以查询和设置。 这些领域与所有时间表一起工作。
Modifier and Type | Field and Description |
---|---|
static TemporalField |
JULIAN_DAY
朱利安日字段。
|
static TemporalField |
MODIFIED_JULIAN_DAY
修改儒略日字段。
|
static TemporalField |
RATA_DIE
拉塔死场。
|
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 mode和smart mode中 ,朱利安日值针对有效值的范围进行验证。 在lenient mode中没有验证。
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,但是这个实现总是使用当地日期的儒略日号码,无论偏移量还是时区。
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 mode和smart 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”,但这个实现始终使用修改后的儒略日作为本地日期,而不考虑偏移或时区。
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 mode和smart mode中 ,Rata Die值针对有效值的范围进行验证。 在lenient mode没有验证发生。