ユリウス通日
ユリウス通日(ユリウスつうじつ、Julian Day、JD)は、ユリウス暦"julian"紀元前4713年1月1日、すなわち西暦 -4712年1月1日の正午(世界時)からの日数である。単にユリウス日(ユリウスび)ともいう。時刻値を示すために一般には小数が付けられる。
例えば、協定世界時(UTC)でのCURRENTYEAR年CURRENTMONTHNAMECURRENTDAY日CURRENTTIMEのユリウス通日の値は、おおむねである。
ユリウス通日はユリウス暦紀元前4713年1月1日(先発グレゴリオ暦では紀元前4714年11月24日、西暦 -4713年11月24日)の正午(世界時)を元期(=0日目)とし、日の単位で数える。ユリウス通日は天文時の伝統に従い、日の起点は正午である。したがって、世界時の正午に日数(の整数部分)が増加する。
ユリウス通日は二時点の間の日数や秒数を計算するのに便利で、天文学や年代学などで使われている。小数を付けることにより時・分・秒数(と更に、その小数)を表現することができる。
ユリウス通日は、「天文時」の時刻系の伝統にしたがい、正午の時点で日付が変わる(整数部分が増加する)。
なお、天文時の日の起点を正午とする時刻系は通常一般の時刻系と紛らわしいので、1925年1月1日からは天文学ではユリウス通日を除き、「天文時」を廃止し、正子(真夜中)を1日の始まりとする「常用時」に統一された。ユリウス通日については、1925年以降も継続して正午を起点としている。天文時の廃止の経緯
日本の国立天文台の暦計算室のページで、グレゴリオ暦からもユリウス暦(1582年10月4日以前)からも、秒単位でユリウス通日と修正ユリウス日が簡便に換算できる。結果は小数5桁で表示される。
また、アメリカ海軍天文台(USNO)のページでは、0.1秒単位の換算が可能であり、結果は小数6桁で表示される。
日を整数で数える値を Julian Day Number (JDN) と呼ぶ。その日(この場合の「日」は「常用時」における日、すなわち正子から正子までの日である。)の正午(世界時)のユリウス通日(JD)に等しい。整数値であるから、JDNには時刻の概念はない。
例えば、協定世界時(UTC)でのCURRENTYEAR年CURRENTMONTHNAMECURRENTDAY日の JDN は、である。
修正ユリウス日(Modified Julian Date:MJD)は、ユリウス通日から2 400 000.5を差し引いたものである。ユリウス通日の2 400 000.5 は、1858年11月17日正子UT に当たるので、この時点を元期としていることになる。常用時と同様に世界時の正子に日数が増加する(ユリウス通日とは異なる)。
例えば、協定世界時(UTC)でのCURRENTYEAR年CURRENTMONTHNAMECURRENTDAY日CURRENTTIMEの MJD は、おおむね である。
ユリウス通日では桁が多すぎて不便な場合に、MJDが使われる。元々は、整数部の桁数を5桁に収めるように、スミソニアン天体物理観測所(SAO)の宇宙科学者が1957年に考案したものである。これはソ連のスプートニクの軌道を追跡するために用いられたIBM 704コンピュータの記憶容量が小さく、桁数を少なくする必要があったためである。
ユリウス通日の値は19世紀後半(1858年11月17日)から22世紀前半(2132年8月31日)までは、2 400 000台の数値であり、現代における利用には整数部が5桁のMJDで十分に実用的と考えられたのである。
Lilian Day number(LD、リリウス日)はグレゴリオ暦使用開始日の1582年10月15日を第1日とした通算の日数で整数値のみを取る(小数を付することはない)。また、0(ゼロ)日から始まるのではないことに注意が必要である。
復活祭の日付を決定するために使われる(コンプトゥスを参照)。ユリウス通日から2 299 159.5を差し引いて、小数部を切り捨てたものである。2000年01月01日のリリウス日 = 152 385 である。
例えば、協定世界時(UTC)でのCURRENTYEAR年CURRENTMONTHNAMECURRENTDAY日のリリウス日の値は、である。
Chronological Julian Day(CJD)は、ユリウス通日に0.5を加え、かつタイムゾーン(time zone)を考慮したものを指す。したがって標準時(地方時)の正子に日数(の整数部分)が増加する。日本ではCJDはほとんど使われない。
CJDを使用する環境では、CJDとJDとの区別を明確にするために、JDをAstronomical Julian Dateと呼んで、AJDと略称することがある。
ユリウス通日は1583年にスカリゲル(ジョゼフ=ジュスト・スカリジェ)(1540年-1609年)によって考案された。スカリゲルは1582年のグレゴリオ暦改暦によって年代学における日付けの計算が煩雑かつ混乱してしまうことを予想して、ユリウス暦、グレゴリオ暦双方での日付の換算や日数計算の便のためにこれを考案した。
スカリゲルが基準にした紀元前4713年は、以下の3つの周期の第1年目が重なる年であった。
太陽章(28年) - 日付と七曜が揃う周期
太陰章(メトン周期)(19年) - 月相(月の満ち欠け)と日付が揃う周期
インディクティオ(15年) - ローマ帝国での徴税額の査定更正周期
以上の3つの周期が揃うには7980年 (=28×19×15)を要する。これをユリウス周期という。ただし、ユリウス通日そのものは永遠に続く値であって周期性があるわけではないので、「周期」の意味はもはやなくなっている。
その後、天文学者ジョン・ハーシェルが1849年の著書Outlines of Astronomyで日数や時間の計算にユリウス通日を利用する方法を考案した。これが広まり、世界中の天文学者が日数計算にユリウス通日を用いるようになった。
なぜ、「ユリウス」の名を冠したのかについては2つの説がある。
一つ目は、スカリゲルの父の名前であるジュール・セザール・スカリジェ(ラテン語音はユリウス・カエサル・スカリゲル、1484年-1558年)から取られたものであるという説である。
二つ目は、ユリウス暦の名の由来となったジュリアス・シーザー(ラテン語音はガイウス・ユリウス・カエサル)によるものであるという説である。国立天文台はこの説を採用している。
以下に西暦の年月日と修正ユリウス日との換算式を示す。換算式は、Fliegel and Van Flandern、Hatcher、Meeusによって考案されている。ただしこれらに整理を施した換算式が使われることも多い日本では各種の換算式をフリーゲルの公式と総称することが見られる。。
なお本来は純粋に整数だけの計算であるが、下記のように浮動小数点計算を経由する形も少なくない。
どの計算式も、月の値(m)は、1月、2月を用いず、前年の13月、14月が用いられる。
グレゴリオ暦 y 年 m 月 d 日午前0時の修正ユリウス日は次式で表される。
\mathit{MJD} = \lfloor 365.25 y \rfloor + \lfloor y / 400 \rfloor -  \lfloor y / 100 \rfloor + \lfloor 30.59(m - 2) \rfloor + d - 678~912
例: 2012年1月1日
y = 2011, m = 13, d = 1 より、修正ユリウス日は 55 927 である。
\mathit{MJD} = {\lfloor 365.25 \times 2011 \rfloor + \lfloor 2011 / 400 \rfloor -  \lfloor 2011 / 100 \rfloor + \lfloor 30.59(13 - 2) \rfloor + 1 - 678~912} = 55~927
ユリウス暦 y 年 m 月 d 日午前0時の修正ユリウス日は次式で表される。
\mathit{MJD} = \lfloor 365.25 y \rfloor + \lfloor 30.59 (m - 2) \rfloor + d - 678~914
例: 1582年2月1日
y = 1581, m = 14, d = 1 より、修正ユリウス日は -101 086 である。
\mathit{MJD} = {\lfloor 365.25 \times 1581 \rfloor + \lfloor 30.59(14 - 2) \rfloor + 1 - 678~914} = -101~086
修正ユリウス日 MJD の日のグレゴリオ暦(y 年 m 月 d 日)は次式で表される。
\begin{align}
n &= \mathit{MJD} + 678~881 \\
a &= 4 n + 3 + 4 \left\lfloor \frac{3}{4} \left\lfloor \frac{4 (n + 1)}{146~097} + 1\right\rfloor  \right\rfloor \\
b &= 5 \left\lfloor \frac{a\, \bmod 1461}{4} \right\rfloor + 2 \\
(y, m, d) &= \bigg( \left\lfloor \frac{a}{1461} \right\rfloor, \left\lfloor\frac{b}{153}\right\rfloor + 3, \left\lfloor\frac{b\, \bmod 153}{5}\right\rfloor + 1 \bigg)
\end{align}
修正ユリウス日 MJD の日のユリウス暦(y 年 m 月 d 日)は次式で表される。
\begin{align}
n &= \mathit{MJD} + 678~883 \\
a &= 4 n + 3 \\
b &= 5 \left\lfloor \frac{a\, \bmod 1461}{4} \right\rfloor + 2 \\
(y, m, d) &= \bigg( \left\lfloor \frac{a}{1461} \right\rfloor, \left\lfloor\frac{b}{153}\right\rfloor + 3, \left\lfloor\frac{b\, \bmod 153}{5}\right\rfloor + 1 \bigg)
\end{align}
本節では、天文学における紀年法に従い、紀元1年( = 西暦1年)の前年の紀元前1年を西暦0年としている。負の年号である西暦 -4712年は紀元前4713年を指す。0年#西暦0年
また本節では、ユリウス暦"julian"、グレゴリオ暦ともに、暦の規則をそのまま過去に遡って適用することを仮定しており、正確には先発ユリウス暦、先発グレゴリオ暦を指している。
以下にユリウス通日の具体例を示す。
2 400 000.5 の例を除いて、いずれも世界時(UTC)の12時(正午)の値である。
以下にユリウス通日の具体例を示す。いずれも世界時での正子での値である。
ユリウス通日は1日に1ずつ増えるため、ユリウス通日または修正ユリウス日から曜日や干支などを求めることができる。この場合、正子に日数が増加する修正ユリウス日を用いるほうが間違いが起こらない。以下は、すべて修正ユリウス日による求め方である。
該当日の修正ユリウス日を7で割り、余りを求める。下記の換算表により曜日を求める。これは本質的にはツェラーの公式と同じである。
例: 2012年1月1日
修正ユリウス日は55 927である。7で割ると7989余り4となる。よって、曜日は日曜日である。
該当日の修正ユリウス日を12で割って余りを求める。下記の換算表により十二支を求める。
例: 2012年1月1日
修正ユリウス日は55 927である。12で割ると4660余り7となる。よって、十二支は酉である。
該当日の修正ユリウス日を10で割って余りを求める。下記の換算表により十干を求める。
例: 2012年1月1日
修正ユリウス日は55 927である。10で割ると5592余り7となる。よって、十干は辛である。
該当日の修正ユリウス日を60で割って余りを求める。下記の換算表により干支による紀日を求める。
例: 2012年1月1日
修正ユリウス日は55 927である。60で割ると932余り7となる。よって、干支紀日は辛酉である。
Google検索のdaterangeオプションでは、日付を指定するのにユリウス通日を用いるようになっている。
データ長が16ビットの修正ユリウス日を日付表現に使用しているシステムでは、16ビットで表せる整数の最大値である65535にあたる2038年4月22日までしか表現できず、この次の日である23日を迎えると、桁あふれが発生してしまう2038年問題が存在する。 (2038年問題とは別物)