トップ » バックナンバー » Vol.14 » 曜日・干支の起源と計算法

Accumu Vol.14

曜日・干支の起源と計算法

京都情報大学院大学 教授 作花 一志

日本人はいつから日月火水木金土という曜日を使っているのでしょうか?明治になってから西欧にならった? 鎖国中にオランダ商人がもたらした? 戦国時代にやってきた宣教師が伝えた? いやそうではありません。もっともっと古くから曜日は使われていました。

今から1001年前の長保六年二月十九日(=1004年3月12日)に藤原道長は84歳の安倍晴明を伴って,新しく作る法華三昧堂の土地探しに宇治木幡に行きますが,その日は癸酉の日曜日ということが『御堂関白記』に記されています[1]。この日が日曜日であることは,実際に計算して確認できます[2]。『御堂関白記』は陰陽師の作った「具注暦」という暦に道長自身が書き込んだもので,国宝に指定されています。そこには干支・二十四節気・吉凶の占いはもちろん,日・月・火・水・木・金・土までが書かれているのです。曜日は9世紀初,空海が唐から持ち帰ったもので,西欧からもたらされたのではありません。藤原時代には密教行事だけでなく広く貴族間に使われていたようです。

図1 承元四年八月(1210年9月)の具注暦の一部。上段に曜日が朱書されている。(京都大学大学院理学研究科宇宙物理学教室所蔵)
図1 承元四年八月(1210年9月)の具注暦の一部。
上段に曜日が朱書されている。
(京都大学大学院理学研究科宇宙物理学教室所蔵)

鎌倉時代の史料として,承元四年(=1210年)および正和四年(=1315年)の「具注暦」の実物を京都大学大学院理学研究科宇宙物理学教室で見ることができます(図1)。南北朝時代の康永四年(=1345年)の「仮名暦」は栃木県荘厳寺に保存されています[3]。江戸時代にはわが国初の暦を作った渋川春海の署名のある貞享五年(=1688年)の「具注暦」,また大和国だけで使われていた文化十年(=1813年)の「南都暦」などがあります[1]。これらに記載されている曜日はすべて現在の曜日に連続しているのです。

表1のように英語では土・日・月曜は天体名,火曜から金曜までは北欧神話の神々の名がつけられており,北欧では一般にそうです。仏西伊などラテン系では日曜(主の日)と土曜(安息日)はキリスト教にちなむ名前で,他は天体名です。中国やアラビアなどアジアは一般に1 , 2 , 3 , ・・・,と番号にちなむ名前です。また露語などスラブ系ではいろいろなものが混入されています。すべてに天体名を使っているのは日本と韓国,それと古代ギリシアだけというのは不思議です[4],[5]。曜日はヘレニズム時代に当時世界最大の都市アレキサンドリアで使われ始め,そこから各地に広まったと言われています。ヨーロッパではキリスト教その他さまざまな宗教に影響され,何回か名前が変わりましたが,極東だけには原型のまま日・月・五惑星の名前が残っているようです。

表1 (注)ティル, オーディン, トール, フレイアはすべて北欧バイキングの神の名である。
また古代ギリシア語のHeliosからKronosまでは太陽・月・五惑星の神の名である。
日本語フランス語英語中国語古代ギリシア語
Dimanche主の日Sunday太陽の日星期日Helios太陽の日
Lundi月の日Monday月の日星期一Selenes月の日
Mardi火星の日Tuesdayティルの日星期二Areos火星の日
Mercredi水星の日Wednesdayオーディンの日星期三Hermeos水星の日
Jeudi木星の日Thursdayトールの日星期四Dios木星の日
Vendredi金星の日Fridayフレイアの日星期五Aphrodites金星の日
Samedi安息日Saturday土星の日星期六Kronos土星の日

曜日の順序については200年頃,ローマの元老院議員・執政官を務めたカシウスが著した『ローマ史』に興味深い記述があるそうです。日・月・五惑星を当時知られていた遠い順に「土木火日金水月」と書き並べて, 24で改行するということを何回か繰り返して上から読んでみると,「 日月火水木金土」の順になります[4],[5]。実は24でなくても,7で割って3余る数なら何でもよく,最も簡単な数は10です。あなたも実際に試してみてください。

02 曜日・干支を計算で求めるには?

あなたは自分の干支は知っていますね。では生まれた日が何曜日かわかりますか?曜日は7日で繰り返すのだから計算で求められるはずです。でも1ヶ月は31日,30日,28日と不定ですし,また閏年では1年は366日となり,計算はかなり複雑なようです。1900年1月1日を第1日として yy 年 mm 月 dd 日までの通日 T は

T=[365.25*yy]-[yy/100]+[yy/400]+[30.59*(mm-2)]+dd-693931  (1)

で与えられます。ただし[ ]は切り捨て整数化の記号で,また1月と2月は前年の13月,14月とします。そしてTを7で割った余りが0なら日曜日,1なら月曜日,・・・,6なら土曜日となります。ではこれを実際にPCで計算してみましょう。

図2 Excelによる曜日計算
図2 Excelによる曜日計算

Excelで曜日を求めるにはweekday関数とtext関数で簡単にできますが(図2),次の2点に注意する必要があります。

1. 有効なのは1900年3月1日以降であること。1899年12月31日以前では全く無効で,1900年の1月と2月は曜日が1つずれている。

2. weekday関数で求めた曜日番号は1から7までで,1…日,2…月,・・・,7…土と定義され,上記と異なっている。

19世紀,さらに紀元前の曜日や干支を求めるには実際に割算の余りを計算する必要があります。

図3 余りの算出
図3 余りの算出

aをbで割ったときの余りrを求める演算子・関数はいろいろ用意されています(図3)。ところが,a<0の場合にはExcel以外は余りが負の数となってしまいます。余りを0以上の数で表すには

r=a-[a/b]*b

とします。[x]はx≧0の場合には切り捨てを表しますが,x<0も含めると一般にxを越えない最大整数です。 C言語やJavaの場合には実数より整数へのキャストが必要になります。

では干支はどうでしょうか? 十二支はわかっていても,十干はあまりなじみがありません。十二支は年を12で割った余りで,また十干は10で割った余りで決まります(表2)。 2005は10で割って余り5だから十干では乙(きのと), また12で割って1余るから十二支では酉, すなわち今年は乙酉の年です。中国では干支は非常に古くから使用されていました。四書五経にはもちろん,紀元前11世紀の青銅器の文字にも干支を読み取ることができます。歴史的に有名な事件には,干支によって名がつけられているものが少なくありませんね。志賀の都が滅びた「壬申の乱」は672年に,ラストエンペラーが退位した「辛亥革命」は1911年に起こりました。干支は10と12の最小公倍数である60を周期として繰り返されます。だから60年たって干支が戻ってくることを還暦というわけです。

ともあれ,これで年・月・日を入力し干支を求め,また(1)よりTを計算して曜日を求めることができました。

表2 Tを7で割った余りで曜日を,年を10で割った余りで十干を,12で割った余りで十二支を表す。
余り曜日十干十二支
0庚 (かのえ)申 (さる)
1辛 (かのと)酉 (とり)
2壬 (みずのえ)戌 (いぬ)
3癸 (みずのと)亥 (ゐ)
4甲 (きのえ)子 (ね)
5乙 (きのと)丑 (うし)
6丙 (ひのえ)寅 (とら)
7丁 (ひのと)卯 (う)
8戊 (つちのえ)辰 (たつ)
9己 (つちのと)巳 (み)
10午 (うま)
11未 (ひつじ)

03 二十四節気と旧暦

太陽黄経が15の倍数になる日には季節感溢れる名前がついていて,「二十四節気」として親しまれています(表3)。「清明」とは清らかに晴れ渡った天空と百花が咲き競う大地を満喫できる4月5日ころ,また「霜降」とは北国や山間部では霜が降りて朝には草木が白く化粧し始める10月23日ころです。もっとも最近は温暖化のせいで,小雪・大雪など時節に合わなくなったものもあります。そのうち黄経が30の倍数になるものは中,そうでないものは節と言われます。中は旧暦の月の名前を決定するために用いられ「二月中」を含む月を「二月」とします。春分は「二月中」で,春分直前の新月の時刻を含む日が2月1日となります。同様に夏至・秋分・冬至は必ず5月・8月・11月に入ります。また処暑直前の新月の時刻を含む日から数えて7日目が旧7月7日,すなわち伝統的七夕の日です。2005年の七夕は8月11日で,2006年は7月31日,そのころは梅雨も上がって天候も安定しているし,織姫・彦星は天高く眺めやすいところにやってきます。実際,7月7日前後は集中豪雨が多く,とても星空を眺めるどころではありませんね。

表3 二十四節気
太陽の黄経が15の倍数になる日には季節感溢れる名前がついている。
黄経節気節中
0春分二月中
15清明三月節
30穀雨三月中
45立夏四月節
60小満四月中
75芒種五月節
90夏至五月中
105小暑六月節
120大暑六月中
135立秋七月節
150処暑七月中
165白露八月節
180秋分八月中
195寒露九月節
210霜降九月中
225立冬十月節
240小雪十月中
255大雪十一月節
270冬至十一月中
285小寒十二月節
300大寒十二月中
315立春一月節
330雨水一月中
345啓蟄二月節

これらの日々は毎年+-2日の範囲で変わり,実際に計算するには太陽黄経を表す式が必要です。太陽は365.2422日で天球上を360度移動しますから,1日については平均0.985647332度,したがって春分からt日後の太陽黄経は

λ=0.985647332・t

となりそうですが,二十四節気を算出するにはこの式では不十分です。地球は等速円運動をしているわけではないので,λの時間変化はもっと複雑です。海上保安庁発行の『天体位置表』にt の3次とsin,cosを含む式が載っており,tを求めるためにはこの非線形方程式を解かねばなりません。高次方程式,非線形方程式の解法にはニュートン法がよく使われますが,ここでは次のようにして微分係数の知識なしで解を求めてみます。

図4 二十四節気 A,B,C,Dはそれぞれ春分・夏至・秋分・冬至における地球の位置を表す。地球・太陽・春分点(A)のなす角度を左回りに測ったものが太陽黄経である。
図4 二十四節気
A,B,C,Dはそれぞれ春分・夏至・秋分・冬至における地球の位置を表す。
地球・太陽・春分点(A)のなす角度を左回りに測ったものが太陽黄経である。

6月20日,21日,22日のλを計算し90度を越すかどうかを調べます。 21日午前0時ではλ<90で,22日午前0時ではλ>90ならば,21日に夏至点通過が起こったはずですから,夏至は21日であることがわかります。このようにして24個の太陽黄経に対する日付を求めた結果が図4で,筆者のウェブサイト[6]から求められます。

また,二十四節気の他に,年間4回の「土用」があります。春の土用はλが27になる日から立夏(λ=45)の前日まで,夏の土用はλが117になる日から立秋(λ=135)の前日まで, 以下λを90ずつ加えていけば土用の期間が求められます。さて今年あなたがうなぎを食べた日は何月何日だったでしょうか?。

以上は2004年の天文教育研究会での発表原稿[7][8]に加筆したもので,また曜日と干支の算出法は京都コンピュータ学院のプログラム演習の課題として使ったものです。

参考文献
  1. 「 安倍晴明と陰陽道展」 読売新聞社 2003
  2. 作花 一志 「十干 十二支」
    http://www.kcg.ac.jp/kcg/sakka/koyomi/eto.htm
  3. 神田 泰・伊藤 節子・岡田 芳朗
    「荘厳寺で発見された仮名暦の調査」
    「荘厳寺で発見された仮名暦の調査」
    国立天文台報 第1巻第3号 1992年2月
  4. 臼井 正 「曜日の順序とピタゴラス音律」
    http://homepage3.nifty.com/silver-moon/sabbath.htm
  5. 倉田 わたる 「曜日の名前のはなし」
    http://www.rinc.or.jp/.kurata/youbi.html
  6. 作花 一志 「二十四節気」
    http://www.kcg.ac.jp/kcg/sakka/koyomi/shunbun.htm
  7. 作花 一志 「晴明の日曜日」
    天文教育研究会集録 2004
  8. 作花 一志 「暦計算」
    「天文教育」 5月号 天文教育研究会 2005
この著者の他の記事を読む
作花 一志
Kazuyuki Sakka
  • 京都情報大学院大学教授
  • 京都大学大学院理学研究科宇宙物理学専攻博士課程修了(宇宙物理学専攻)
  • 京都大学理学博士
    専門分野は古典文学,統計解析学。
  • 元京都大学理学部・総合人間学部講師,元京都コンピュータ学院鴨川校校長,元天文教育普及研究会編集委員長。

上記の肩書・経歴等はアキューム24号発刊当時のものです。