ユリウス通日

ユリウス通日（ユリウスつうじつ、Julian Day、JD）は、ユリウス暦紀元前4713年1月1日、すなわち西暦 -4712年1月1日の正午（世界時）からの日数である。単にユリウス日（ユリウスび）ともいう。時刻値を示すために一般には小数が付けられる。 例えば、協定世界時（UTC）での2023年10月25日10:39のユリウス通日の値は、おおむね2460242.94である。 ユリウス通日はユリウス暦紀元前4713年1月1日（先発グレゴリオ暦では紀元前4714年11月24日、西暦 -4713年11月24日）の正午（世界時）を元期（＝0日目）とし、日の単位で数える。ユリウス通日は天文時の伝統に従い、日の起点は正午である。したがって、世界時の正午に日数（の整数部分）が増加する。 ユリウス通日は二時点の間の日数や秒数を計算するのに便利で、天文学や年代学（英語版）などで使われている。小数を付けることにより時・分・秒数（と更に、その小数）を表現することができる。 ユリウス通日は、天体観測に便利なように正午を起点にしている。つまり、天体観測は通常は夜間に行われるので、夜の0時（正子）の時点で日付が変わる（ユリウス通日の整数部分が増加する。）のは、不便で間違いも起こりやすい。このためユリウス通日は、正午の時点で日付が変わるように決められたのである。この慣習は「天文時」の時刻系の伝統であり、クラウディオス・プトレマイオス (2世紀頃)に始まるものである。 正午を一日の起点にする理由はもう一つある。均時差を捨象すれば、太陽の南中を観測することにより、その地点の地方時での正午は容易に知れる。これに対して正子を認識することは、正確な時計が存在しない時代には困難である。 なお、天文時の日の起点を正午とする時刻系は通常一般の時刻系と紛らわしいので、1925年1月1日からは天文学ではユリウス通日を除き、「天文時」を廃止し、正子（真夜中）を日界（1日の始まり、かつ、1日の終わりの時点）とする「常用時」に統一された。しかし、ユリウス通日については、1925年以降も継続して正午を起点としている。 日本の国立天文台の暦計算室のページで、グレゴリオ暦からもユリウス暦（1582年10月4日以前）からも、秒単位でユリウス通日と修正ユリウス日が簡便に換算できる。結果は小数5桁で表示される。 また、アメリカ海軍天文台（USNO）のページでは、0.1秒単位の換算が可能であり、結果は小数6桁で表示される。 日を整数で数える値を Julian Day Number (JDN) と呼ぶ。その日（この場合の「日」は「常用時」における日、すなわち正子から正子までの日である。）の正午（世界時）のユリウス通日（JD）に等しい。整数値であるから、JDNには時刻の概念はない。 例えば、協定世界時（UTC）での2023年10月25日の JDN は、2460243である。 修正ユリウス日（Modified Julian Date：MJD）は、ユリウス通日から2 400 000.5を差し引いたものである。ユリウス通日の2 400 000.5 は、1858年11月17日正子UT に当たるので、この時点を元期としていることになる。常用時と同様に世界時の正子に日数が増加する（ユリウス通日とは異なる）。 例えば、協定世界時（UTC）での2023年10月25日10:39の MJD は、おおむね60242.44 である。 ユリウス通日では桁が多すぎて不便な場合に、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）での2023年10月25日のリリウス日の値は、161083である。 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 {\displaystyle m} ）は、1月、2月を用いず、前年の13月、14月が用いられる。 グレゴリオ暦 y 年 m 月 d 日午前0時の修正ユリウス日は次式で表される。 M J D = ⌊ 365.25 y ⌋ + ⌊ y / 400 ⌋ − ⌊ y / 100 ⌋ + ⌊ 30.59 ( m − 2 ) ⌋ + d − 678   912 {\displaystyle {\mathit {MJD}}=\lfloor 365.25y\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 である。 M J D = ⌊ 365.25 × 2011 ⌋ + ⌊ 2011 / 400 ⌋ − ⌊ 2011 / 100 ⌋ + ⌊ 30.59 ( 13 − 2 ) ⌋ + 1 − 678   912 = 55   927 {\displaystyle {\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時の修正ユリウス日は次式で表される。 M J D = ⌊ 365.25 y ⌋ + ⌊ 30.59 ( m − 2 ) ⌋ + d − 678   914 {\displaystyle {\mathit {MJD}}=\lfloor 365.25y\rfloor +\lfloor 30.59(m-2)\rfloor +d-678~914} 例: 1582年2月1日 y = 1581, m = 14, d = 1 より、修正ユリウス日は -101 086 である。 M J D = ⌊ 365.25 × 1581 ⌋ + ⌊ 30.59 ( 14 − 2 ) ⌋ + 1 − 678   914 = − 101   086 {\displaystyle {\mathit {MJD}}={\lfloor 365.25\times 1581\rfloor +\lfloor 30.59(14-2)\rfloor +1-678~914}=-101~086} 修正ユリウス日 MJD の日のグレゴリオ暦（y 年 m 月 d 日）は次式で表される。 n = M J D + 678   881 a = 4 n + 3 + 4 ⌊ 3 4 ⌊ 4 ( n + 1 ) 146   097 + 1 ⌋ ⌋ b = 5 ⌊ a mod 1 461 4 ⌋ + 2 ( y , m , d ) = ( ⌊ a 1461 ⌋ , ⌊ b 153 ⌋ + 3 , ⌊ b mod 1 53 5 ⌋ + 1 ) {\displaystyle {\begin{aligned}n&={\mathit {MJD}}+678~881\\a&=4n+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 {1}}461}{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 {1}}53}{5}}\right\rfloor +1{\bigg )}\end{aligned}}} 修正ユリウス日 MJD の日のユリウス暦（y 年 m 月 d 日）は次式で表される。 n = M J D + 678   883 a = 4 n + 3 b = 5 ⌊ a mod 1 461 4 ⌋ + 2 ( y , m , d ) = ( ⌊ a 1461 ⌋ , ⌊ b 153 ⌋ + 3 , ⌊ b mod 1 53 5 ⌋ + 1 ) {\displaystyle {\begin{aligned}n&={\mathit {MJD}}+678~883\\a&=4n+3\\b&=5\left\lfloor {\frac {a\,{\bmod {1}}461}{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 {1}}53}{5}}\right\rfloor +1{\bigg )}\end{aligned}}} 本節では、天文学における紀年法に従い、紀元1年（ = 西暦1年）の前年の紀元前1年を西暦0年としている。負の年号である西暦 -4712年は紀元前4713年を指す。 また本節では、ユリウス暦、グレゴリオ暦ともに、暦の規則をそのまま過去に遡って適用することを仮定しており、正確には先発ユリウス暦（英語版）、先発グレゴリオ暦を指している。 以下にユリウス通日の具体例を示す。 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年問題とは別物）