無限遠の、ことに日付計算がらみの辞書などは、わたしがまだ里々の扱いのおぼつかない頃にだましだまし作ったためにすさまじく要領の悪い書き方をしているところがいろいろあるのですが、
多少はなんとかしようと思ってその一部分をざっくりと書き直し、それなりに是正しました。
その過程で、「里々で年月日からユリウス日を計算するスクリプト」のようなものができまして、汎用性のあるものだと思うのでここに掲げておきます。
参考になさりたい方はどうぞ。
ユリウス日を利用すると、たとえば任意の日付間の日数などが簡単にわかります。

*

まず、以下がグレゴリオ暦 (現行の西暦) の日付からユリウス日を求めるものです。
通常はこれを用いれば問題ありません。
できるかぎりシンプルな記述になるようにしたつもりです。

ユリウス日
(calc,
365*(ユリウス日要素)+(ユリウス日要素)/4
+3059*((if,(A1)>2,-2,10)+(A1))/100
+(ユリウス日要素)/400
-(ユリウス日要素)/100
+(A2)+1721089)
ユリウス日要素
((A0)(if,(A1)>2,,-1))

こう書いておいて、

(call,ユリウス日,(年の値),(月の値),(日の値))

とします。たとえばその日のユリウス日

(call,ユリウス日,(現在年),(現在月),(現在日))

です。


*

ここからは少々マニアックになりますが、ユリウス暦 (1582年10月にグレゴリオ暦に取って代わられるまで西暦として用いられた暦) の日付から求める場合はこうなります。
グレゴリオ暦施行以前の日付にはこちらを用います。

ユリウス日
(calc,
36525*((A0)(if,(A1)>2,,-1))/100
+3059*((if,(A1)>2,-2,10)+(A1))/100
+(A2)+1721087)

*

最後に、グレゴリオ暦ユリウス暦を併合し、紀元前をも考慮した完全版が次のとおりです。
遠い過去から現在・未来に至るまでの幅広い日付を扱う場合はこちらを。

ユリウス日【タブ】(A3)==0&&(A0)>1582
(calc,
365*(ユリウス日要素)+(ユリウス日要素)/4
+3059*((if,(A1)>2,-2,10)+(A1))/100
+(ユリウス日要素)/400
-(ユリウス日要素)/100
+(A2)+1721089)
ユリウス日要素
((A0)(if,(A1)>2,,-1))

ユリウス日【タブ】(A3)==0&&(A0)<1582
(calc,
36525*(ユリウス日要素)/100
+3059*((if,(A1)>2,-2,10)+(A1))/100
+(A2)+1721087)

ユリウス日【タブ】(A3)==0&&(A0)==1582
2298883+(nswitch,(A1),0,31,59,90,120,151,181,212,243,273,294,324)+(A2)(if,(A1)==10&&(A2)>14,-10)

ユリウス日【タブ】(A3)==1
(calc,
365*((if,(A1)>2,1,0)-(A0))+((if,(A1)>2,1,0)-(A0))/4
+3059*((if,(A1)>2,-2,10)+(A1))/100
+(A2)+1721087(if,((A0)+(if,(A1)>2,0,1))%4!=1,-1))

使うときには

(call,ユリウス日,(年の値),(月の値),(日の値),(紀元前マーカ))

とします。「紀元前マーカ」には、紀元前の日付であれば1、紀元後なら0を代入します。




最後のについては、テキストファイルにしておきました