天文学的紀年法
天文学的紀年法(てんもんがくてききねんほう、Astronomical year numbering)は、主として天文学で用いる紀年法である。紀元1年(西暦1年)以後の年数については通常の西暦の紀年法(歴史年)と同じであるが、紀元1年(西暦1年)より前については、0(ゼロ)と負数を用いて年数を表すので、通常の紀元前の紀年法とは、1年の差が生じる。例えばカエサルが暗殺された紀元前44年は、西暦-43年である。
この紀年法は、日付と時刻の表記に関する国際規格であるISO 8601でも採用されている(ISO 8601#年の表記(0000年より前、9999年より後))。西暦1年より前の、天文年と歴史年の絶対値の1年の差異は、食や合のような天文イベントを計算し、それらが言及された歴史イベントがいつ発生したかを判断するときに重要である。
なお、考古学や地質学では現時点から何年前であるかを示す「BP (年代測定)」(before present)を使用している。
通常の紀元・西暦の表現に用いられる接頭辞ADや接尾辞CE(Common Era)、BC(Before Christ)、BCE(Before Common Era)などは使わない。
紀元前1年は0年、紀元前2年は-1年、紀元前3年は-2年、紀元前4年は-3年とする。一般に、紀元前n年(nは正の整数)は"-(n-1)"で表される。
紀元1年以降は通常の歴史年と同一であって、符号無しまたは正の符号で書かれる。すなわち、紀元n年(nは正の整数)は単にnまたは+nと書かれる。
天文学的紀年法を用いる理由は、西暦前から西暦後にわたる期間計算を簡便・単純にするためである。紀元前1年を跨ぐ期間の年数を計算するときには、通常の紀年法では0年が存在しないことを考慮しなければならないので計算が面倒かつ間違えやすい。天文学的紀年法では、単に期間の最後の年から期間の最初の年を差し引くだけで良く、計算が簡便である。
紀元1年(「1」)の前年が紀元前1年(「-1」)となる紀元前年数をそのまま用いると整数の算法に反することとなって、天文学的事象の期間計算に不具合が生じてしまう(「紀元前1年」、「1月0日」も参照のこと)。
通常の紀年法:紀元前4年 →紀元前3年 →紀元前2年 →紀元前1年 →紀元1年 →紀元2年 →紀元3年
天文学的紀年法:西暦 -3年 →西暦 -2年 →西暦 -1年 →西暦 0年 → 西暦1年 →西暦2年 →西暦3年
天文学的紀年法が準拠する数直線:
例:紀元2年( = 西暦 2年)から紀元前4年( = 西暦 -3年)までの年数の算出法
通常の紀年法:2 - (-4) - 1 = 5年(紀元前1年を跨ぐ場合には、1年を減じなければならない)
天文学的紀年法:2 - (-3) = 5年(紀元前1年を跨がない場合の年数の算出方法と同じである)
天文学者は、1582年よりも前(0年を含む)にはユリウス暦を、1582年以降にはグレゴリオ暦を使用する。例えば、ジャック・カッシーニ(1740年)、サイモン・ニューカム(1898年)、フレッド・エスペナック(2007年)がそのようにしている。
ヨハネス・ケプラーはルドルフ表(1627年)において、太陽・月・土星・木星・火星・金星・水星の平均運動の表について「0年」のプロトタイプを使っていた。彼は、Ante Christum(紀元前)とPost Christum(紀元後)の間にChristi (Christ's)の年を置いた。1702年、フランスの天文学者フィリップ・ド・ラ・イールは、Tabulæ Astronomicæの平均運動のページで、紀元前(ante Christum)の最後の年を「Christum 0」とした。すなわち、ケプラーがChristiと表記したものに「0」を付けた。最後に、1740年にフランスの天文学者ジャック・カッシーニは、Tables astronomiquesにおいてこの年を単に「0」と表記し、それより前の年にはavant Jesus-Christ、後の年にはaprès Jesus-Christを付けた。これにより、「0年」という表記の発明者は伝統的にカッシーニであるとされている。
カッシーニが0年を使った理由は次のように述べられている。
NASAのフレッド・エスペナックは、0年における50回の月相を挙げ、それが瞬間ではなく丸々一年であることを示している。ジャン・メーウスは次のように説明している。
There is a disagreement between astronomers and historians about how to count the years preceding year 1. In [Astronomical Algorithms], the 'B.C.' years are counted astronomically. Thus, the year before the year +1 is the year zero, and the year preceding the latter is the year −1. The year which historians call 585 B.C. is actually the year −584.
The astronomical counting of the negative years is the only one suitable for arithmetical purpose. For example, in the historical practice of counting, the rule of divisibility by 4 revealing Julian leap-years no longer exists; these years are, indeed, 1, 5, 9, 13, ... B.C. In the astronomical sequence, however, these leap-years are called 0, −4, −8, −12, ..., and the rule of divisibility by 4 subsists.
西暦1年より前の年数を数える方法については、天文学者と歴史家の間で意見の相違がある。[Astronomical Algorithms]では、紀元前の年は天文学的に数えられる。従って、+1年の前の年は0年であり、その前は-1年である。歴史家が紀元前585年を呼ぶ年は、実際には−584年である。マイナスの年の天文計算は算術目的に適した唯一のものである。例えば、歴史学における紀年法では、ユリウス暦の閏年を表す4による割り算の法則はもはや存在しない。紀元前の閏年は紀元前1年、5年、9年、13年、...である。しかし、天文学の紀年法では、紀元前の閏年は0、-4、-8、-12、...であり、4による割り算の法則が成り立つ。
ビザンチンの歴史家Venance Grumelは、紀元前の年に(マイナス記号で識別される)負の年を、紀元後の年に符号なしの正の年を表において使用した。ただし、彼の本の他の場所では、年を表記するのに通常のフランス語の"avant J.-C." (before Jesus Christ)と"après J.-C." (after Jesus Christ)を使っている。おそらく彼は表示スペースを節約するためにそうしただけであり、0年は使っていない。
XML Schemaのバージョン1.0は、コンピュータ間で交換されるデータをXMLで記述するためによく使用されるが、これには組み込みのプリミティブデータ型dateおよびdateTimeが含まれる。これらは、先発グレゴリオ暦を使用するISO 8601の観点から定義されているため0年を含める必要があるが、XML schemaの仕様では0年はないと規定されている。バージョン1.1では0年を含めることによってISO 8601の仕様に沿うように再定義されたが、これにより後方互換性を失うこととなった。