
序数日付とは、通常、年と序数(1~366、1月1日を起点とする)で構成される暦日です。序数は、 1日の倍数を表し、 1年の通算日数または通数日数(通数日または日数とも呼ばれる)と呼ばれます。日付の2つの部分は、ISO 8601 序数日付形式に準拠するために「YYYY-DDD」の形式で表すことができます。文脈上年が暗黙的に示されている場合は、年を省略することもあります。また、日数は整数から、1日の端数を表す小数部分を含むように一般化されることがあります。
序数日付は、かつて「ユリウス日」またはJD、あるいはJDATEと呼ばれていたものの、現在でも古いプログラミング言語や表計算ソフトで見られる名称です。これらの古い名称は、以前使用されていた「ユリウス日番号」またはJDNと呼ばれる日付システムと混同されやすいため、現在では非推奨となっています。JDNは、天文学や一部の歴史計算において依然として広く用いられています。
米軍は、年と日数(1年を365日または366日とする)を示す「ユリウス日付形式」と呼ばれるシステムを使用することがあります。 [ 1 ]例えば、「1999年12月11日」は、「1999345」または「99345」と表記され、1999年の345日目を表します。[ 2 ]
1年内の日数を計算することは、ユリウス日などの基準日から各年における日数を計算する過程の一部です。また、曜日を計算する過程の一部でもありますが、この目的においては、 7を法とする簡略化を行うことができます。
以下の文章では、序数Oを計算するためのいくつかのアルゴリズムを紹介します。入力として、グレゴリオ暦またはユリウス暦の日付の年、月、日を表す整数y、m、dを受け取ります。
序数日を計算する最も単純な方法は、定義に従って経過したすべての日数を数えることです。
同様に簡単なのは、参照されているようなルックアップテーブルの使用である。[ 3 ]
月の長さの表は、ツェラーの合同式における月の長さの変化を符号化する方法に従って置き換えることができます。ツェラーと同様に、m ≤ 2の場合、 mはm + 12に変更されます。月番号mの場合、前の月の合計日数は⌊(153 * ( m − 3) + 2) / 5⌋に等しいことが示されます (下記参照) 。その結果、3 月 1 を基準とした序数日番号はO Mar = ⌊(153 × ( m − 3) + 2) / 5⌋ + dとなります。
この式は、3月から1月までの連続する5か月が、31-30-31-30-31という固定パターンが2回繰り返されるため、合計153日になるという事実を反映しています。これは、ツェラーの合同式における月のオフセット(7を 法とする同じ数列)の符号化に似ています。153 / 5は30.6なので、数列は目的の周期5で目的のパターンで振動します。
3月1日を基準日とする序数から1月1日を基準日とする序数へ変換するには:
「終末」の特性:
とそして与える
n = 2、3、4、5、6 の場合、すなわち 4/4、6/6、8/8、10/10、12/12 の間で、 63 (9 週間)の連続差が生じます。
そして与える
mとdを入れ替えて
n = 2 の場合(5/9 と 9/5 の差) とn = 3 の場合(7/11 と 11/7 の差)で、119 (17 週間)の差が生じます。
例えば、4月15日の序数は、平年では90 + 15 = 105 、閏年では91 + 15 = 106となります。
月と日の番号は次のように与えられます。
用語また、以下と置き換えることもできます。と序数日付。