このドキュメントは、ユリウス通日(ユリウス日)を扱うためのライブラリ AJD4JP(Astronomical Julian Day for Japan) の API 仕様です。
ユリウス通日を扱いますが、日本時間に特化されています。
ユリウス通日とは、BC4713/01/01 12:00:00 UTC からの日数で表され、2点の日数差を計算するために年代学や天文学などで利用されています。
ユリウス通日では、日未満の時分秒は小数で表されます。例えば 12時間は0.5となります。
改暦により、AD1582/10/04 までをユリウス暦(4年に1回を常に閏年とする)、それ以降はグレゴリオ暦(現在の暦法、100で割り切れて400で割りきれない年は閏年としない)で計上します。日本では明治6(1873)年から天保暦(旧暦)に代わり、グレゴリオ暦が採用されましたが、このライブラリではその改暦をサポートしません。
このライブラリでは、入出力の年月日時分秒は全て、日本標準時(UTC+9)の太陽暦としてユリウス通日を算出します。日本時間以外のローカルタイムや UTC はサポートしません。
以下の点が、Java標準の日時系クラスと異なります。
- ユリウス通日や、エポックからの通算ミリ秒自体にはローカルタイムの概念はありません。日時表現はローカルタイムの概念があり、こちらの入出力は全て日本時間です。OSやJava環境のローカライゼーション設定にも従いません。
- 年は通常通りの表現で、1900を差し引く必要はありません。負数は紀元前を表します。0は指定できません。
- 月は通常通りの表現で、1~12です。0から開始ではありません。
- 日は通常通りの表現で、1~31です。また、該当月に存在しない日(例えば11/31)を指定すると例外が発生します。閏年も考慮し、入力日は厳密に検査されます。閏年は、AD1582を境に判定方法が変化します。
- 時間は通常通りの表現で、0~23です。
- 分は通常通りの表現で、0~59です。
- 秒は通常通りの表現で、0~59です。60などの閏秒は入力できません。例外が発生します。