ユリウス通日

ユリウス通日（ユリウスつうじつ、Julian Day、JD）は、ユリウス暦紀元前4713年1月1日、すなわち西暦 -4712年1月1日の正午（世界時）からの日数である。単にユリウス日（ユリウスび）ともいう。時刻値を示すために一般には小数が付けられる。 例えば、協定世界時（UTC）での2024年9月18日07:44のユリウス通日の値は、おおむね2460571.82である。 ユリウス通日はユリウス暦紀元前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）での2024年9月18日の JDN は、2460572である。 修正ユリウス日（Modified Julian Date：MJD）は、ユリウス通日から2 400 000.5を差し引いたものである。ユリウス通日の2 400 000.5 は、1858年11月17日正子UT に当たるので、この時点を元期としていることになる。常用時と同様に世界時の正子に日数が増加する（ユリウス通日とは異なる）。 例えば、協定世界時（UTC）での2024年9月18日07:44の MJD は、おおむね60571.32 である。 ユリウス通日では桁が多すぎて不便な場合に、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）での2024年9月18日のリリウス日の値は、161412である。 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年問題とは別物） [脚注の使い方] ^ a b 本稿で言うユリウス暦は、西暦8年以前についてもユリウス暦の暦法（4年に1度閏年を実施）を機械的に遡って適用したと仮定した先発ユリウス暦（英語版）を指す。実際のユリウス暦では、その初期である紀元前45年 から 紀元前8年の間では、閏年を3年に1度とするという正しくない運用がなされていたので（ユリウス暦#初期のユリウス暦の運用）、この先発ユリウス暦とは一致しない。また、紀元前45年以前にはユリウス暦そのものが存在しない。 ^ 日本では各種の換算式をフリーゲルの公式と総称することが見られる。 ^ [1] 国立天文台暦計算室、ユリウス日とは ^ a b [2] 国立天文台 ＞ 暦計算室 ＞ 暦Wiki ＞1日の始まり ^ 日本天文学会（編）「雑報 緑威平均時の争論」（PDF）『天文月報』第18巻第10号、日本天文学会、東京府北多摩郡三鷹村、1925年10月、156頁、ISSN 0374-2466、NCID AN00154555、NDLJP:3304063、2014年2月2日閲覧。 p.157 下段の最後の段落 ^ 日本天文学会（編）「雑報 緑威平均時の争論」（PDF）『天文月報』第18巻第10号、日本天文学会、東京府北多摩郡三鷹村、1925年10月、156頁、ISSN 0374-2466、NCID AN00154555、NDLJP:3304063、2014年2月2日閲覧。 p.157 下段の最後の段落 ^ “ユリウス日”. 暦計算室 暦象年表. 国立天文台. 2015年1月18日閲覧。 ^ Julian Date Converter Astronomical Applications Department, The United States Naval Observatory (USNO), US Navy ^ MODIFIED JULIAN DATE Time Service Department,USNO ^ 暦Wiki/ユリウス日 - 国立天文台暦計算室 ユリウス日とは ^ 万年七曜表と、その計算式について 2004/2/2 井上圭典 ^ 18 editions of "Outlines of astronomy" by Herschel, John F. W. Sir, pp.676-681 ^ 天文学人名辞典（現代天文学講座 別巻）、p.82、スカリゲルの項、「彼の息子Scaliger, Joseph Justus(1540-1609)は現代年代学の創始者で、ユリウス日を制定したが、”ユリウス”の名は父に感謝の意を表してつけられたものである。」、この項の執筆者は斉田博（さいだ ひろし 1926-1982)、恒星社厚生閣、1983年3月25日、初版1刷 ^ 例えば、Duncan Steel, "Marking Time: The Epic Quest to Invent the Perfect Calendar", p.154, How the Julian Date Got Its Name, John Wiley & Sons: New York, 2000, ISBN 0-471-29827-1 ^ ユリウス日とは 国立天文台、暦計算室、暦wiki「彼（スカリゲル）の著書 "Opus de emendatione temporum" によれば、ユリウス周期やユリウス日の"ユリウス"はユリウス年にちなんで名づけたそうです。」 ^ Fliegel, H. F. and Van Flandern, T. C., "A Machine Algorithm for Processing Calendar Dates," Communications of the ACM 11, p. 657, 1968. ^ Hatcher, D. A., Simple formulae for Julian day numbers and calendar dates, Quarterly Journal of the Royal Astronomical Society, v. 25, p. 53-55, 1984 ^ Meeus, J., Astronomical Algorithms, 1998 ^ a b これは浮動小数点計算を経由する計算法。 ユリウス年 ISO 8601 - 日付と時刻の表記に関する標準 UNIX時間 - 計算機で使われている時刻。1970年1月1日深夜（午前0時0分0秒）からの秒数を数える。 ユリウス日について（国立天文台） Julian Date Converter Astronomical Applications Department, The United States Naval Observatory (USNO), US Navy（0.1秒単位の換算が可能で、結果は小数6桁で表示される） [3] 国立天文台 > 暦計算室 > 暦象年表 > 年月日時分秒→ユリウス日の換算（1秒単位の換算が可能で、結果は小数5桁で表示される） [4] 国立天文台 > 暦計算室 > 暦象年表 > ユリウス日→年月日時分秒の換算 日時とユリウス日の変換 - 世界時(UT) と日本時(JST)の両方の時分までの換算に対応。 換暦 - 和暦、グレゴリオ暦、ユリウス暦、ユリウス日などの相互換算を行う。日付のみの換算であり、時分秒の換算はできない。