ユリウス通日
ユリウス通日(ユリウスつうじつ、Julian Day、JD)とは、ユリウス暦[注 1]紀元前4713年1月1日、すなわち西暦 -4712年1月1日の正午(世界時)からの日数である[1]。単にユリウス日(ユリウスび)ともいう。時刻値を示すために一般には小数が付けられる。
例えば、協定世界時(UTC)での2024年11月28日07:38 のユリウス通日の値は、おおむね構文エラー: 認識できない区切り文字「[」です。である。
Contents
ユリウス通日
ユリウス通日はユリウス暦紀元前4713年1月1日(先発グレゴリオ暦では紀元前4714年11月24日、西暦 -4713年11月24日)の正午(世界時)を元期(=0日目)とし、日の単位で数える。ユリウス通日は天文時の伝統に従い、日の起点は正午である。したがって、世界時の正午に日数(の整数部分)が増加する。
ユリウス通日は二時点の間の日数や秒数を計算するのに便利で、天文学や年代学などで使われている。小数を付けることにより時・分・秒数(と更に、その小数)を表現することができる。
起点が正午である理由
ユリウス通日は、天体観測に便利なように正午を起点にしている。つまり、天体観測は通常は夜間に行われるので、夜の0時(正子)(世界時)の時点で日付が変わる(ユリウス通日の整数部分が増加する。)のは、不便で間違いも起こりやすい。このためユリウス通日は、正午の時点で日付が変わるように決められたのである。この慣習は「天文時」の時刻系の伝統であり、クラウディオス・プトレマイオス に始まるものである。
正午を一日の起点にする理由はもう一つある。均時差を捨象すれば、太陽の南中を観測することにより、その地点の地方時での正午は容易に知れる。これに対して正子を認識することは、正確な時計が存在しない時代には困難である。
なお、天文時の日の起点を正午とする時刻系は通常一般の時刻系と紛らわしいので、ユリウス通日を除き、1925年1月1日からは天文学では「天文時」を廃止し、正子(真夜中)を1日の始まりとする「常用時」に統一された(天文時の廃止の経緯を参照)。しかし、ユリウス通日については、1925年以降も継続して正午を起点としている[2][3]。
換算計算サービス
日本の国立天文台の暦計算室のページで、グレゴリオ暦からもユリウス暦(1582年10月4日以前)からも、秒単位でユリウス通日と修正ユリウス日が簡便に換算できる[4]。結果は小数5桁で表示される。
また、アメリカ海軍天文台(USNO)のページでは、0.1秒単位の換算が可能であり[5]、結果は小数6桁で表示される。
ユリウス通日の変種
Julian Day Number (JDN)
日を整数で数える値を Julian Day Number (JDN) と呼ぶ。その日(この場合の「日」は「常用時」における日、すなわち正子から正子までの日である。)の正午(世界時)のユリウス通日(JD)に等しい。整数値であるから、JDNには時刻の概念は無い。
例えば、協定世界時(UTC)での2024年11月28日の JDN は、構文エラー: 認識できない区切り文字「[」です。である。
修正ユリウス日(MJD)
修正ユリウス日(Modified Julian Date:MJD)は、ユリウス通日から2 400 000.5を差し引いたものである。ユリウス通日の2 400 000.5 は、1858年11月17日正子UT に当たるので、この時点を元期としていることになる。ユリウス通日とは異なり、世界時の正子に日数が増加する。
修正ユリウス日が導入された理由
ユリウス通日では桁が多すぎて不便な場合に、MJDが使われる。元々は、整数部の桁数を5桁に収めるように、スミソニアン天体物理観測所(SAO)の宇宙科学者が1957年に考案したものである[6]。これはソ連のスプートニクの軌道を追跡するために用いられたIBM 704コンピュータの記憶容量が小さく、桁数を少なくする必要があったためである。
ユリウス通日の値は19世紀後半(1858年11月17日)から22世紀前半(2132年8月31日)までは、2 400 000台の数値であり、現代における利用には整数部が5桁のMJDで十分に実用的と考えられたのである。
リリウス日(LD)
Lilian Day number(LD、リリウス日)はグレゴリオ暦使用開始日の1582年10月15日を第1日とした通算の日数で整数値のみを取る(小数を付することはない)。また、0(ゼロ)日から始まるのではないことに注意が必要である。
復活祭の日付を決定するために使われる(コンプトゥスを参照)。ユリウス通日から2 299 159.5を差し引いて、小数部を切り捨てたものである。
例えば、2000年01月01日のリリウス日 = 152 385 である。
Chronological Julian Day(CJD)
Chronological Julian Day(CJD)は、ユリウス通日に0.5を加え、かつタイムゾーン(time zone)を考慮したものを指す。したがって標準時(地方時)の正子に日数(の整数部分)が増加する。日本ではCJDはほとんど使われない。
CJDを使用する環境では、CJDとJDとの区別を明確にするために、JDをAstronomical Julian Dateと呼んで、AJDと略称することがある。
ユリウス通日の考案
ユリウス通日は1583年にスカリゲル(ジョゼフ=ジュスト・スカリジェ)(1540年-1609年)によって考案された。スカリゲルは1582年のグレゴリオ暦改暦によって年代学における日付けの計算が煩雑かつ混乱してしまうことを予想して、ユリウス暦、グレゴリオ暦双方での日付の換算や日数計算の便のためにこれを考案した。
スカリゲルが基準にした紀元前4713年は、以下の3つの周期の第1年目が重なる年であった。
以上の3つの周期が揃うには7980年 (=28×19×15)を要する。これをユリウス周期という[7]。ただし、ユリウス通日そのものは永遠に続く値であって周期性があるわけではないので、「周期」の意味はもはやなくなっている[8]。
その後、天文学者ジョン・ハーシェルが1849年の著書Outlines of Astronomyで日数や時間の計算にユリウス通日を利用する方法を考案した[9]。これが広まり、世界中の天文学者が日数計算にユリウス通日を用いるようになった。
「ユリウス通日」の名の由来
なぜ、「ユリウス」の名を冠したのかについては2つの説がある。
一つ目は、スカリゲルの父の名前であるジュール・セザール・スカリジェ(ラテン語音はユリウス・カエサル・スカリゲル、1484年-1558年)から取られたものであるという説である[10][11]。
二つ目は、ユリウス暦の名の由来となったジュリアス・シーザー(ラテン語音はガイウス・ユリウス・カエサル)によるものであるという説である。国立天文台はこの説を採っている[12]。
西暦と修正ユリウス日との相互換算
以下に西暦の年月日と修正ユリウス日との換算式を示す。換算式は、Fliegel and Van Flandern[13]、Hatcher[14]、Meeus[15]によって考案されているが、実際にはこれらに改良・整理を施した換算式が使われることが多い。日本では各種の換算式を総称してフリーゲルの公式と呼ばれることが多い。
グレゴリオ暦から修正ユリウス日への換算
グレゴリオ暦から修正ユリウス日を計算するには次の公式を使う。 グレゴリオ暦 y 年 m 月 d 日午前0時の修正ユリウス日は次式で表される。但し1月、2月は前年の13月、14月として計算する。
- [math]\mathit{MJD} = \lfloor 365.25 y \rfloor + \lfloor y / 400 \rfloor - \lfloor y / 100 \rfloor + \lfloor 30.59(m - 2) \rfloor + d - 678~912[/math]
- 例: 2012年1月1日
- y = 2011, m = 13, d = 1 なので、次式より修正ユリウス日は 55 927 である。
- [math]\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[/math]
ユリウス暦から修正ユリウス日への換算
ユリウス暦から修正ユリウス日を計算するには次の公式を使う。 ユリウス暦 y 年 m 月 d 日午前0時の修正ユリウス日は次式で表される。但し1月、2月は前年の13月、14月として計算する。
- [math]\mathit{MJD} = \lfloor 365.25 y \rfloor + \lfloor 30.59 (m - 2) \rfloor + d - 678~914[/math]
- 例: 1582年2月1日
- y = 1581, m = 14, d = 1 なので、次式より修正ユリウス日は -101 086 である。
- [math]\mathit{MJD} = {\lfloor 365.25 \times 1581 \rfloor + \lfloor 30.59(14 - 2) \rfloor + 1 - 678~914} = -101~086[/math]
修正ユリウス日からグレゴリオ暦への換算
修正ユリウス日からグレゴリオ暦を計算するには次の公式を使う。 修正ユリウス日 MJD の日のグレゴリオ暦(y 年 m 月 d 日)は次式で表される。但し1月、2月は前年の13月、14月として求まる。
- [math]\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}[/math]
修正ユリウス日からグレゴリオ暦への換算
修正ユリウス日からユリウス暦を計算するには次の公式を使う。 修正ユリウス日 MJD の日のユリウス暦(y 年 m 月 d 日)は次式で表される。但し1月、2月は前年の13月、14月として求まる。
- [math]\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}[/math]
紀元前や初期のユリウス暦の換算における注意点
本節では、天文学における紀年法に従い、紀元1年( = 西暦1年)の前年の紀元前1年を西暦0年としている。負の年号である西暦 -4712年は紀元前4713年を指す(「0年#西暦0年」、「紀元前1年#西暦0年」を参照)。
また本節では、ユリウス暦[注 1]、グレゴリオ暦ともに、暦の規則をそのまま過去に遡って適用することを仮定しており、正確には先発ユリウス暦、先発グレゴリオ暦を指している。
ユリウス通日の具体例
ユリウス通日の具体例
以下にユリウス通日の具体例を示す。 2 400 000.5 の例を除いて、いずれも世界時での12時(正午)での値である。
ユリウス通日 | 日付 | 備考 |
---|---|---|
0 | ユリウス暦紀元前4713年1月1日 | ユリウス通日の元期 |
1 000 000 | ユリウス暦紀元前1976年11月7日 | |
1 234 567 | ユリウス暦紀元前1333年1月23日 | |
2 000 000 | ユリウス暦763年9月14日 | |
2 299 160 | ユリウス暦1582年10月4日 | ローマ・カトリック教会におけるユリウス暦の最後の日 |
2 299 161 | グレゴリオ暦1582年10月15日 | ローマ・カトリック教会におけるグレゴリオ暦の初日 |
2 345 678 | グレゴリオ暦1710年2月23日 | |
2 400 000.5 | グレゴリオ暦1858年11月17日正子 | 修正ユリウス日の元期 |
2 451 545 | グレゴリオ暦2000年1月1日 | J2000.0の元期 |
2 456 789 | グレゴリオ暦2014年5月11日 | |
2 567 890 | グレゴリオ暦2318年7月18日 | |
3 000 000 | グレゴリオ暦3501年8月15日 | |
3 456 789 | グレゴリオ暦4752年4月7日 | |
4 000 000 | グレゴリオ暦6239年7月12日 |
修正ユリウス日の具体例
以下にユリウス通日の具体例を示す。 いずれも世界時での正子での値である。
修正ユリウス日 | 日付 |
---|---|
-2400001 | グレゴリオ暦紀元前4714年11月24日 |
-2400001 | ユリウス暦紀元前4713年1月1日 |
-2399963 | グレゴリオ暦紀元前4713年1月1日 |
-605833 | ユリウス暦200年3月1日 |
-605833 | グレゴリオ暦200年3月1日 |
-100841 | ユリウス暦1582年10月4日 |
-100840 | グレゴリオ暦1582年10月15日 |
0 | ユリウス暦1858年11月5日 |
0 | グレゴリオ暦1858年11月17日 |
51557 | ユリウス暦2000年1月1日 |
51544 | グレゴリオ暦2000年1月1日 |
ユリウス通日の利用
ユリウス通日は1日に1ずつ増えるため、ユリウス通日または修正ユリウス日から曜日や干支などを求めることができる。この場合、正子に日数が増加する修正ユリウス日を用いるほうが間違いが起こらない。以下は、すべて修正ユリウス日による求め方である。
七曜日の求め方
該当日の修正ユリウス日を7で割り、余りを求める。下記の換算表により曜日を求める。これは本質的にはツェラーの公式と同じである。
余り | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
曜日 | 水 | 木 | 金 | 土 | 日 | 月 | 火 |
- 例: 2012年1月1日
- 修正ユリウス日は55 927である。7で割ると7989余り4となる。よって、曜日は日曜日である。
十二支の求め方
該当日の修正ユリウス日を12で割って余りを求める。下記の換算表により十二支を求める。
余り | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
十二支 | 寅 | 卯 | 辰 | 巳 | 午 | 未 | 申 | 酉 | 戌 | 亥 | 子 | 丑 |
- 例: 2012年1月1日
- 修正ユリウス日は55 927である。12で割ると4660余り7となる。よって、十二支は酉である。
十干の求め方
該当日の修正ユリウス日を10で割って余りを求める。下記の換算表により十干を求める。
余り | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|
十干 | 甲 | 乙 | 丙 | 丁 | 戊 | 己 | 庚 | 辛 | 壬 | 癸 |
- 例: 2012年1月1日
- 修正ユリウス日は55 927である。10で割ると5592余り7となる。よって、十干は辛である。
干支紀日の求め方
該当日の修正ユリウス日を60で割って余りを求める。下記の換算表により干支による紀日を求める。
余り | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
干支 | 甲寅 | 乙卯 | 丙辰 | 丁巳 | 戊午 | 己未 | 庚申 | 辛酉 | 壬戌 | 癸亥 | 甲子 | 乙丑 | 丙寅 | 丁卯 | 戊辰 | 己巳 | 庚午 | 辛未 | 壬申 | 癸酉 |
余り | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
干支 | 甲戌 | 乙亥 | 丙子 | 丁丑 | 戊寅 | 己卯 | 庚辰 | 辛巳 | 壬午 | 癸未 | 甲申 | 乙酉 | 丙戌 | 丁亥 | 戊子 | 己丑 | 庚寅 | 辛卯 | 壬辰 | 癸巳 |
余り | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
干支 | 甲午 | 乙未 | 丙申 | 丁酉 | 戊戌 | 己亥 | 庚子 | 辛丑 | 壬寅 | 癸卯 | 甲辰 | 乙巳 | 丙午 | 丁未 | 戊申 | 己酉 | 庚戌 | 辛亥 | 壬子 | 癸丑 |
- 例: 2012年1月1日
- 修正ユリウス日は55 927である。60で割ると932余り7となる。よって、干支紀日は辛酉である。
その他
- Google検索のdaterangeオプションでは、日付を指定するのにユリウス通日を用いるようになっている。
- データ長が16ビットの修正ユリウス日を日付表現に使用しているシステムでは、16ビットで表せる整数の最大値である65535にあたる2038年4月22日までしか表現できず、この次の日である23日を迎えると、桁あふれが発生してしまう2038年問題が存在する。 (2038年問題とは別物)
脚注
- ↑ 1.0 1.1 本稿で言うユリウス暦は、西暦8年以前についてもユリウス暦の暦法(4年に1度閏年を実施)を機械的に遡って適用したと仮定した先発ユリウス暦を指す。実際のユリウス暦では、その初期である紀元前45年 から 紀元前8年の間では、閏年を3年に1度とするという正しくない運用がなされていたので(ユリウス暦#初期のユリウス暦の運用)、この先発ユリウス暦とは一致しない。また、紀元前45年以前にはユリウス暦そのものが存在しない。
出典
- ↑ [1] 国立天文台暦計算室、ユリウス日とは
- ↑ [2] 国立天文台 > 暦計算室 > 暦Wiki >1日の始まり
- ↑ 日本天文学会, 編纂.「雑報 緑威平均時の争論 (PDF) 」 、『天文月報』第18巻第10号、日本天文学会、東京府北多摩郡三鷹村、1925年10月、 156頁、 ISSN 0374-2466、 NCID AN00154555、NDLJP:3304063、. 2014閲覧.p.157 下段の最後の段落
- ↑ “ユリウス日”. 暦計算室 暦象年表. 国立天文台. . 2015閲覧.
- ↑ Julian Date Converter 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
関連項目
外部リンク
- Julian Date Converter The United States Naval Observatory (USNO), US Navy (0.1秒単位の換算が可能で、結果は小数6桁で表示される)
- [3] 国立天文台 > 暦計算室 > 暦象年表 > 年月日時分秒→ユリウス日の換算(1秒単位の換算が可能で、結果は小数5桁で表示される)
- [4] 国立天文台 > 暦計算室 > 暦象年表 > ユリウス日→年月日時分秒の換算
- 日時とユリウス日の変換 - 世界時(UT) と日本時(JST)の両方の時分までの換算に対応。
- 換暦 - 和暦、グレゴリオ暦、ユリウス暦、ユリウス日などの相互換算を行う。日付のみの換算であり、時分秒の換算はできない。