ユリウス通日

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ユリウス通日(ユリウスつうじつ、Julian Day、JD)とは、ユリウス暦[注 1]紀元前4713年1月1日正午世界時)からの日数である[1]。単にユリウス日ユリウスび)ともいう。時刻値を示すために一般には小数が付けられる。

例えば、協定世界時(UTC)での2015年9月2日01:43 のユリウス日の値は、おおむね2457267.57である。

ユリウス通日(Julian Day)(JD)[編集]

ユリウス通日はユリウス暦紀元前4713年1月1日正午世界時)を元期(=0日目)とし、の単位で数える。ユリウス通日は天文時の伝統に従い、日の起点は正午である[注 2] [注 3][注 4]。したがって、世界時正午に日数(の整数部分)が増加する。

ユリウス通日は数年にわたる二時点の間の日数や秒数を計算するのに便利で、天文学年代学Chronology)などで使われている。小数を付けることにより時・分・秒数(と更に、その小数)を表現することができる。

ユリウス日(JD)の変種[編集]

Julian Day Number (JDN)[編集]

日を整数で数える値を Julian Day Number (JDN) と呼ぶ。すなわち、JDの小数を切り捨てたものであり、言い換えれば、その日の正午世界時)のユリウス通日に等しい。 例えば、協定世界時(UTC)での2015年9月2日の JDN は、2457268である。

Chronological Julian Day(CJD)[編集]

Chronological Julian Day(CJD)(en:Julian day#Variants)は、ユリウス通日に0.5を加え、かつタイムゾーン(time zone)を考慮したものを指す。したがって標準時(地方時)の正子に日数(の整数部分)が増加する。日本ではCJDはほとんど使われない。

CJDを使用する環境では、CJDとJDとの区別を明確にするために、JDをAstronomical Julian Dateと呼んで、AJDと略称することがある。

修正ユリウス日(MJD)[編集]

修正ユリウス日(Modified Julian Date:MJD)は、ユリウス通日から2 400 000.5を差し引いたものである。したがって1858年11月17日正子UTを元期とし、世界時正子に日数が増加する。

ユリウス通日では桁が多すぎて不便な場合に、MJDが使われる[注 5][2][注 6]

リリウス日(LD)[編集]

Lilian Day number(LD、リリウス日)はグレゴリオ暦使用開始日の1582年10月15日正子からの通算の日数で整数値を取る(小数部は切り捨てる)。復活祭の日付を決定するために使われる(コンプトゥス)。ユリウス通日から2 299 159.5を差し引いて、小数部を切り捨てたものである。

ユリウス通日の考案[編集]

ユリウス通日は1583年にスカリゲル(ジョゼフ=ジュスト・スカリジェ)(Joseph Justus Scaliger)(1540-1609)によって考案された。スカリゲルは1582年のグレゴリオ暦改暦によって年代学Chronology)における日付けの計算が煩雑かつ混乱してしまうことを予想して、ユリウス暦グレゴリオ暦双方での日付の換算や日数計算の便のためにこれを考案した。

その後、天文学者ジョン・ハーシェル1849年の著書Outlines of Astronomyで日数や時間の計算にユリウス通日を利用する方法を考案した[3]。これが広まり、世界中の天文学者が日数計算にユリウス通日を用いるようになった。

「ユリウス通日」の名はスカリゲルの父の名前であるジュール・セザール・スカリジェ(ラテン語音はユリウス・カエサル・スカリゲル)(Julius Caesar Scaliger)(1484-1558)から取られたものであって、ユリウス暦の名の由来となったジュリアス・シーザー(ラテン語音ガイウス・ユリウス・カエサル)とは直接の関係はないと「一般的には」言われている[4]

スカリゲルが基準にした紀元前4713年は、以下の周期の第1年目が重なる年である。

太陽章Solar cycle (calendar))(28年)
日付と七曜がそろう周期
太陰章(メトン周期)(19年)
月相(月の満ち欠け)と日付がそろう周期
インディクティオ(15年)
ローマ帝国での徴税額の査定更正周期

以上の3つの周期がそろうには7980年 (=28×19×15)を要する。これをユリウス周期という[5]

西暦からの換算[編集]

天文学における紀元前[編集]

本稿では、天文学における紀年法に従い、紀元1年( = 西暦1年)の前年を西暦0年としている。負の年号である-4712年は紀元前4713年を指す(0年#西暦紀元前1年を参照)。

また本稿では、ユリウス暦[注 1]グレゴリオ暦ともに、暦の規則をそのまま過去に遡って適用することを仮定しており、正確にはProleptic Julian calendarProleptic Gregorian calendarを指している。

グレゴリオ暦からの換算式[編集]

グレゴリオ暦(year, month, day)から、修正ユリウス日mjd(日を整数で数える)およびJDNへの換算式は[6]

\begin{align}
 & y = year + \left\lfloor\frac{month-3}{12}\right\rfloor\\
 & m = \left(month - 3\right)\, \bmod 12\\
 &  d = day - 1 \\
 & n = d + 
\left\lfloor\frac{153m+2}{5}\right\rfloor +
365y+
\left\lfloor\frac{y}{4}\right\rfloor -
\left\lfloor\frac{y}{100}\right\rfloor +
\left\lfloor\frac{y}{400}\right\rfloor  \\
& mjd = n - 678881 \\
& jdn = mjd + 2400001 \\
\end{align}

逆換算[編集]

上記の逆換算として、n(y,m,d) への換算式は、

\begin{align}
& a = 4 n + 3 + 4 \left\lfloor \frac{3}{4} \left(\left\lfloor\frac{4(n+1)}{146097}\right\rfloor + 1\right)\right\rfloor \\
& b = 5 \left\lfloor \frac{a\, \bmod 1461}{4} \right\rfloor + 2 \\
& (y,m,d) = ( \left\lfloor \frac{a}{1461} \right\rfloor , \left\lfloor\frac{b}{153}\right\rfloor , \left\lfloor\frac{b\, \bmod 153}{5}\right\rfloor)
\end{align}

ユリウス暦からの換算式[編集]

ユリウス暦からの換算の場合は、上式(グレゴリオ暦からの式)のうち、n,mjd,aの計算式を下記に置き換える必要がある。

\begin{align}
& n = d + 
\left\lfloor\frac{153m+2}{5}\right\rfloor +
365y+\left\lfloor\frac{y}{4}\right\rfloor \\
& mjd = n - 678883 \\
& a = 4 n + 3 \\
\end{align}

計算例[編集]

mjd 日付
-2400001 ユリウス暦紀元前4713年1月1日
-2399963 グレゴリオ暦紀元前4713年1月1日
-605833 ユリウス暦200年3月1日
-605833 グレゴリオ暦200年3月1日
-100841 ユリウス暦1582年10月4日
-100840 グレゴリオ暦1582年10月15日
51557 ユリウス暦2000年1月1日
51544 グレゴリオ暦2000年1月1日

換算式の考案[編集]

上記のようなユリウス通日の換算式は、Fliegel and Van Flandern[7]、Hatcher[8]、Meeus[9]によって考案されているが、これらに改良・整理を施した換算式が使われることが多い[注 7]

元々の Fliegel and Van Flandern の式は下記の形をグレゴリオ暦で採用している。

\begin{align}
 n = d + 
\left\lfloor\frac{367m+7}{12}\right\rfloor +
\left\lfloor\frac{1461y}{4}\right\rfloor +
\left\lfloor\frac{-3}{4}\left\lfloor\frac{y}{100}\right\rfloor\right\rfloor 
\end{align}

電卓計算向きに浮動小数値を経由する換算式もある。例えば下記のように置き換えができる。

\begin{align}
& \left\lfloor\frac{153m+2}{5}\right\rfloor = \left\lfloor 30.6 m + 0.5\right\rfloor \\
& \left\lfloor\frac{1461y}{4}\right\rfloor = \left\lfloor 365.25 y\right\rfloor
\end{align}

次節の式はFliegel and Van Flandernの式よりは Meeusの式に近い。

換算計算サービス[編集]

日本の国立天文台暦計算室のページで、グレゴリオ暦からもユリウス暦(1582年10月4日以前)からも、秒単位でユリウス日と修正ユリウス日が簡便に換算できる[10]。結果は小数5桁で表示される。

また、アメリカ海軍天文台(USNO)のページでは、0.1秒単位の換算が可能であり[11]、結果は小数6桁で表示される。

フリーゲルの公式[編集]

年月日から修正ユリウス日を算出するためのアルゴリズムである。

グレゴリオ暦からの換算[編集]

グレゴリオ暦から修正ユリウス日を計算するには次の公式を使う。 グレゴリオ暦 ymd 日午前0時の修正ユリウス日は次式で表される。但し1月、2月は前年の13月、14月として計算する。

\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

ユリウス暦からの換算[編集]

ユリウス暦から修正ユリウス日を計算するには次の公式を使う。 ユリウス暦(紀元後) ymd 日午前0時の修正ユリウス日は次式で表される。但し1月、2月は前年の13月、14月として計算する。

\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

紀元前の場合、修正ユリウス日を計算するには次の公式を使う。 ユリウス暦紀元前 ymd 日午前0時の修正ユリウス日は次式で表される。但し1月、2月は前年の13月、14月として計算する。

\mathit{MJD} = \lfloor -365.25 y - 0.75 \rfloor + \lfloor 30.59 (m - 2) \rfloor + d + 366 - 678~914
  • 例: 紀元前4713年1月1日
y = 4714, m = 13, d = 1 なので、次式より修正ユリウス日は -2 400 001 である。
\mathit{MJD} = {\lfloor -365.25 \times 4714 - 0.75 \rfloor + \lfloor 30.59(13 - 2) \rfloor + 1 + 366 - 678~914} = -2~400~001

ユリウス通日から曜日等を求める[編集]

ユリウス通日は1日に1ずつ増えるため、当日のユリウス通日または修正ユリウス日が判明すれば曜日干支などを求めることができる。

七曜日の求め方[編集]

該当日の修正ユリウス日を7で割り、余りを求める。余りが0より小さい場合は7を加える。下記の換算表により曜日に変換する。これは本質的にはツェラーの公式と同等である。

修正ユリウス日による曜日の換算表
余り 0 1 2 3 4 5 6
曜日
  • 例: 2012年1月1日
修正ユリウス日は55 927である。7で割ると7989余り4となる。よって、曜日は日曜日である。

十二支の求め方[編集]

該当日の修正ユリウス日を12で割って余りを求める。余りが0より小さい場合、12を加える。余りを下記の換算表により十二支に変換する。

修正ユリウス日による十二支の換算表
余り 0 1 2 3 4 5 6 7 8 9 10 11
十二支
  • 例: 2012年1月1日
修正ユリウス日は55 927である。12で割ると4660余り7となる。よって、十二支はである。

十干の求め方[編集]

該当日の修正ユリウス日を10で割って余りを求める。余りが0より小さい場合、10を加える。余りを下記の換算表により十干に変換する。

修正ユリウス日による十干の換算表
余り 0 1 2 3 4 5 6 7 8 9
十干
  • 例: 2012年1月1日
修正ユリウス日は55 927である。10で割ると5592余り7となる。よって、十干はである。

干支紀日の求め方[編集]

該当日の修正ユリウス日を60で割って余りを求める。余りが0より小さい場合、60を加える。余りを下記の換算表により干支による紀日に変換する。

修正ユリウス日による干支の換算表
余り 00 01 02 03 04 05 06 07 08 09 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年問題とは別物)

ユリウス日の例[編集]

ユリウス日 西暦年-月-日(世界時12時)
1 000 000 -1975-11-07 (ユリウス暦紀元前1976年)
1 234 567 -1332-01-23 (ユリウス暦紀元前1333年)
2 000 000 763-09-14 (ユリウス暦)
2 345 678 1710-02-23 (グレゴリウス暦)
2 451 545 2000-01-01 (グレゴリウス暦)
2 456 789 2014-05-11 (グレゴリウス暦)
2 567 890 2318-07-18 (グレゴリウス暦)
3 000 000 3501-08-15 (グレゴリウス暦)
3 456 789 4752-04-07 (グレゴリウス暦)
4 000 000 6239-07-12 (グレゴリウス暦)

脚注[編集]

  1. ^ a b 本稿で言うユリウス暦は、西暦8年以前についてもユリウス暦の暦法(4年に1度閏年を実施)を機械的に遡って適用したと仮定したProleptic Julian calendarを指す。実際のユリウス暦では、その初期である紀元前45年 から 紀元前8年の間では、閏年を3年に1度とするという正しくない運用がなされていたので(ユリウス暦#初期のユリウス暦の運用)、このProleptic Julian calendarとは一致しない。また、紀元前45年以前にはユリウス暦そのものが存在しない。
  2. ^ 天体観測に便利なように正午を起点にしている。つまり、天体観測は通常は夜間に行われるので、夜の0時(正子)(世界時)の時点で日付が変わる(ユリウス通日の整数部分が増加する。)のは、不便で間違いも起こりやすい。このためユリウス通日は、正午の時点で日付が変わるように決められたのである。この慣習は「天文時」の時刻系の伝統であり、クラウディオス・プトレマイオス に始まるものである
  3. ^ 正午を一日の起点にする理由はもう一つある。均時差を捨象すれば、太陽の南中を観測することにより、その地点の地方時での正午は容易に知れる。これに対して正子を認識することは、正確な時計が存在しない時代には困難である。
  4. ^ 天文時の日の起点の正午とする時刻系は通常一般の時刻系と紛らわしいので、ユリウス日を除き、1925年1月1日からは天文学では「天文時」を廃止し、正子真夜中)を1日の始まりとする「常用時」に統一された(→天文時の廃止の経緯)。
  5. ^ 整数部の桁数を5桁に収めるように、1950年代後半にスミソニアン天体物理観測所(SAO)の宇宙科学者が考案したものである。
  6. ^ これはソ連のスプートニクの軌道を追跡するために用いられたIBM 704コンピュータの記憶容量が小さく、桁数を少なくする必要があったためである。ユリウス通日の値は19世紀後半(1858年)から22世紀前半(2132年)までは、2 400 000台の数値であり、現代における利用には5桁のMJDで十分に実用的と考えられたのである。
  7. ^ 日本では各種のユリウス通日の換算式をひっくるめて「フリーゲルの公式」と呼んでいることがある。

出典[編集]

  1. ^ [1] 国立天文台暦計算室、ユリウス日とは
  2. ^ MODIFIED JULIAN DATE Time Service Department,USNO
  3. ^ [2] 18 editions of "Outlines of astronomy" by Herschel, John F. W. Sir, pp.676-681
  4. ^ 例えば、[3] 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
  5. ^ [4] 国立天文台 暦計算室 暦象年表 ユリウス日 ユリウス日とは
  6. ^ http://www.tondering.dk/claus/cal/julperiod.php#formula
  7. ^ Fliegel, H. F. and Van Flandern, T. C., "A Machine Algorithm for Processing Calendar Dates," Communications of the ACM 11, p. 657, 1968.
  8. ^ 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
  9. ^ Meeus, J., Astronomical Algorithms, 1998
  10. ^ ユリウス日”. 暦計算室 暦象年表. 国立天文台. 2015年1月18日閲覧。
  11. ^ Julian Date Converter The United States Naval Observatory (USNO), US Navy

関連項目[編集]

外部リンク[編集]

  • Julian Date Converter The United States Naval Observatory (USNO), US Navy (0.1秒単位の変換が可能で、結果は小数6桁で表示される)
  • [5] 国立天文台 > 暦計算室 > 暦象年表 > 年月日時分秒→ユリウス日の換算(1秒単位の変換が可能で、結果は小数5桁で表示される)
  • [6] 国立天文台 > 暦計算室 > 暦象年表 > ユリウス日→年月日時分秒の換算
  • 日時とユリウス日の変換 - 世界時(UT) と日本時(JST)の両方の時分までの換算に対応。
  • 換暦 - 和暦、グレゴリオ暦、ユリウス暦、ユリウス日などの相互変換を行う。日付のみの換算であり、時分秒の換算はできない。