月の十干十二支九星の計算は、年より複雑です。
年と同じように、24節気の日時で月を切り替えているからです。それは後述(3)します。
基本的には次のようにします。
方法としては2とおりあります。
1.月を累積した数を割って、余りを見る
2.各年単位で見る。
(1).
“ユリウス日”という日数を累積していく方法があります。これと同じ考え方で、月も累積していきます。例えば西暦1年の1月を0、2月を2、…西暦2年の2月を13、…というようにしたとします。
s=0,1,2,...;0=1年1月,....13=2年2月,14=2年3月,....
十干 = (s+6)%10
ただし:0=甲,1=乙,....9=癸
十二支 = s%12
ただし:0=子,1=丑,....11=亥
九星 = 9 - (s%9)
ただし:1=一白水星,....9=九紫火星
(2).
各年単位で出す方法。
m=1,2,...12 ; m=月をしめす
十二支 = m-1
ただし:0=子,1=丑,...11=亥。
十二支は簡単ですね。十二支と月は完全に一致しているからです。
月の九星と十干は、年の九星と十干を使って計算できます。
年の九星(十干)が分かれば、その年の2月は常に同じ九星(十干)になるからです。
12ヶ月は、3の倍数だから九星とうまく合いますし(36ヶ月=3年で一巡)、5年だと60ヶ月となり十干で割り切れるからです。
この特徴をふまえた計算方法(考え方)はいくつもあります。一例をあげておきます。
求めたい月 m は 2,3,4,...13 とする(1月を13にする)。
甲=0,乙=1,....癸=9とする。
k=求めたい年の十干で、0,1,2,...8 とする。
a = 2( (k % 5) + 1) % 10
月の十干 = (a + m - 2) % 10
求められる値は 0,1,...9
s=求めたい年の九星で、1,2,...9 とする。1=一白水星。
九星 = (3s + 7 - m) % 9
求められる値は 0,1,...8 で、0は九紫火星
(1)の方法を利用してもかまいません。
十干 = ((y-1)*12+M+6)%10
ただし:y=西暦で、1,2,...;Mは月で、M=0,1,...11
九星 = 9-((y-1)*12+M)%9
ただし:y=西暦で、1,2,...;M=0,1,...11
(3).月の切り替わり
月の変わりの判定には二十四節気を使います。正確にその日時で変わると考えています。例えば2015年3月に啓蟄がありますが、国立天文台の発表では、啓蟄は”2015 3/6 06:58″です。つまり”3/6 00:00″はまだ前の月が続いていて(2月扱い)、”3/6 07:00″は月が変わった後(3月)です。
この日時も太陽の視黄経を計算する必要があります。
02月 315° 立春
03月 345° 啓蟄
04月 015° 清明
05月 045° 立夏
06月 075° 芒種
07月 105° 小暑
08月 135° 立秋
09月 165° 白露
10月 195° 寒露
11月 225° 立冬
12月 255° 大雪
01月 285° 小寒