D 年.月.日々の干支と七曜
「天文計算入門」を参考にしてプログラム化した。ある一定の周期で循環する日を知る
には連続した日数を周期で割り、余りの数値に定数を加減することで得られる.
'年干支の計算 YYを求める年 YEを求める十干十二支の番号とする。
YE = (YY - 3) Mod 60 ‘Mod・・・ 余りを求める演算子:
If YE = 0 Then YE = 60 ‘YE=1・・甲子 〜 YE=60・・癸亥
干 支 番 号 表 5−2

'月干支の計算 YYを求める年 MM を月とする。
NN = (YY + 1) Mod 5 ‘Mod・・・ 余りを求める演算子
MEE = 1 + MM + NN * 12 ‘MEE=1・・甲子 〜 MEE=60・・癸亥
MEE = MEE Mod 60:
If MEE = 0 Then MEE = 60
'日干支の計算
YYを求める年 MM を月 DDを日とする。
現在のグレゴリオ暦法以前のユリウス暦法のユリウス日が連続した日数だからこれを
基礎に計算できる。しかし BC4713年からの日数ではあまりに長すぎるので簡略化した
準ユリウス日=MJD を求める.(天体計算入門 p59)
If MM < 3 Then YY = YY - 1: MM = MM +
12 ‘グレゴリオ暦の2月を意識して計算する。
‘以下 MD=MJD とする。
MD = Int(365.25 * YY) + Int(YY / 400) - Int(YY
/ 100)
+ Int(30.59 * (MM - 2)) + DD + (HH - 9) /
24 - 678912
If MM >= 13 Then MM = MM - 12: YY = YY
+ 1
DE = (MD - 9) Mod 60 ‘DE=1・・甲子 〜 DE=60・・癸亥
If DE = 0 Then DE = 60
'曜日の計算 ‘NN= 1〜7 は 日曜 〜 土曜
曜 日 の 番 号
表 5−3
|
番 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
曜 |
日 |
月 |
火 |
水 |
木 |
金 |
土 |
前述の準ユリウス日 MDをそのまま同時に使用する。
NN = (MD - 3) Mod 7
If NN = 0 Then NN = 7
