ユリウス日は日付と時間を表現する標準的な方法で、科学界で一般的に使用されています。 これは完全な1日の何日分かを10進数で表し、1日は正午に始まります。 このクラスは、1日を深夜零時からカウントするユリウス日のバリエーションを表します。
フィールドはEPOCH_DAY
を基準にして実装されます。 フィールドがサポートされ、問合せと設定ができるのは、EPOCH_DAY
が使用可能な場合です。 フィールドはすべての暦で動作します。
- 実装要件:
- これは不変でスレッドセーフなクラスです。
- 導入されたバージョン:
- 1.8
-
フィールドのサマリー
修飾子と型フィールド説明static TemporalField
ユリウス日を表すフィールド。static TemporalField
修正ユリウス日を表すフィールド。static TemporalField
Rata Dieフィールド。 -
メソッドのサマリー
-
フィールド詳細
-
JULIAN_DAY
public static final TemporalField JULIAN_DAYユリウス日を表すフィールド。これは整数ベースのユリウス日です。 ユリウス日は、完全な1日の何日分かを日0からカウントして表す、よく知られたシステムです。日0は、ユリウス暦のBCE 4713年1月1日、グレゴリオ暦の-4713-11-24と定義されます。 フィールドの名前は「JulianDay」、ベース単位は「DAYS」です。 フィールドでは常にローカル日付/時間が参照され、オフセットやゾーンは無視されます。
日付/時間に対して、「JULIAN_DAY.getFrom()」は深夜零時から次の深夜零時の直前まで同じ値を取ります。 「JULIAN_DAY.adjustInto()」を日付/時間に適用すると、1日のうちの時間部分はそのままになります。 「JULIAN_DAY.adjustInto()」と「JULIAN_DAY.getFrom()」は、
ChronoField.EPOCH_DAY
に変換できるTemporal
オブジェクトにのみ適用されます。 他のタイプのオブジェクトではUnsupportedTemporalTypeException
がスローされます。解析時の解決フェーズでは、ユリウス日フィールドから日付を作成できます。 厳密モードとスマート・モードでは、ユリウス日の値が有効値の範囲に対して検証されます。 非厳密モードでは検証は行われません。
天文学的および科学的ノート
標準的な天文学の定義では、時間を示すために端数を使用しています。ここでは、各日は正午から正午に数えられます。 たとえば、0の小数部は正午を表し、0.25の小数部は18:00を表し、0.5の小数部は真夜中を表し、0.75の小数部は06:00を表します。対照的に、この実装には小数部分はなく、真夜中から深夜までの日数がカウントされます。 この実装では、整数を使用し、1日は深夜零時に始まります。 ユリウス日を表す整数値は、その日付の正午における天文学的ユリウス日の値です。 これはつまり、天文学的ユリウス日を整数
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 |
ユリウス日は世界標準時またはUTCに基づいていると見なされる場合がありますが、この実装では常にローカル日付のユリウス日が使用され、オフセットやタイムゾーンは無視されます。
-
MODIFIED_JULIAN_DAY
public static final TemporalField MODIFIED_JULIAN_DAY修正ユリウス日を表すフィールド。これは整数ベースの修正ユリウス日です。 修正ユリウス日(MJD)は、日を連続してカウントする、よく知られたシステムです。 これは天文学的ユリウス日を基準にして、
MJD = JD - 2400000.5
と定義されます。 修正ユリウス日はそれぞれ深夜零時から深夜零時までです。 フィールドでは常にローカル日付/時間が参照され、オフセットやゾーンは無視されます。日付/時間に対して、「MODIFIED_JULIAN_DAY.getFrom()」は深夜零時から次の深夜零時の直前まで同じ値を取ります。 「MODIFIED_JULIAN_DAY.adjustInto()」を日付/時間に適用すると、1日のうちの時間部分はそのままになります。 「MODIFIED_JULIAN_DAY.adjustInto()」と「MODIFIED_JULIAN_DAY.getFrom()」は、
ChronoField.EPOCH_DAY
に変換できるTemporal
オブジェクトにのみ適用されます。 他のタイプのオブジェクトではUnsupportedTemporalTypeException
がスローされます。この実装は、小数部を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
public static final TemporalField RATA_DIERata Dieフィールド。Rata Dieは、0001-01-01 (ISO)の開始を日1の深夜零時とし、完全な1日の何日分かをそこから連続してカウントします。 フィールドでは常にローカル日付/時間が参照され、オフセットやゾーンは無視されます。
日付/時間に対して、「RATA_DIE.getFrom()」は深夜零時から次の深夜零時の直前まで同じ値を取ります。 「RATA_DIE.adjustInto()」を日付/時間に適用すると、1日のうちの時間部分はそのままになります。 「RATA_DIE.adjustInto()」と「RATA_DIE.getFrom()」は、
ChronoField.EPOCH_DAY
に変換できるTemporal
オブジェクトにのみ適用されます。 他のタイプのオブジェクトではUnsupportedTemporalTypeException
がスローされます。解析時の解決フェーズでは、Rata Dieフィールドから日付を作成できます。 厳密モードとスマート・モードでは、Rata Dieの値が有効値の範囲に対して検証されます。 非厳密モードでは検証は行われません。
-