日本人はいつから日月火水木金土という曜日を使っているのでしょうか?明治になってから西欧にならった? 鎖国中にオランダ商人がもたらした? 戦国時代にやってきた宣教師が伝えた? いやそうではありません。もっともっと古くから曜日は使われていました。
今から1001年前の長保六年二月十九日(=1004年3月12日)に藤原道長は84歳の安倍晴明を伴って,新しく作る法華三昧堂の土地探しに宇治木幡に行きますが,その日は癸酉の日曜日ということが『御堂関白記』に記されています[1]。この日が日曜日であることは,実際に計算して確認できます[2]。『御堂関白記』は陰陽師の作った「具注暦」という暦に道長自身が書き込んだもので,国宝に指定されています。そこには干支・二十四節気・吉凶の占いはもちろん,日・月・火・水・木・金・土までが書かれているのです。曜日は9世紀初,空海が唐から持ち帰ったもので,西欧からもたらされたのではありません。藤原時代には密教行事だけでなく広く貴族間に使われていたようです。
鎌倉時代の史料として,承元四年(=1210年)および正和四年(=1315年)の「具注暦」の実物を京都大学大学院理学研究科宇宙物理学教室で見ることができます(図1)。南北朝時代の康永四年(=1345年)の「仮名暦」は栃木県荘厳寺に保存されています[3]。江戸時代にはわが国初の暦を作った渋川春海の署名のある貞享五年(=1688年)の「具注暦」,また大和国だけで使われていた文化十年(=1813年)の「南都暦」などがあります[1]。これらに記載されている曜日はすべて現在の曜日に連続しているのです。
表1のように英語では土・日・月曜は天体名,火曜から金曜までは北欧神話の神々の名がつけられており,北欧では一般にそうです。仏西伊などラテン系では日曜(主の日)と土曜(安息日)はキリスト教にちなむ名前で,他は天体名です。中国やアラビアなどアジアは一般に1 , 2 , 3 , ・・・,と番号にちなむ名前です。また露語などスラブ系ではいろいろなものが混入されています。すべてに天体名を使っているのは日本と韓国,それと古代ギリシアだけというのは不思議です[4],[5]。曜日はヘレニズム時代に当時世界最大の都市アレキサンドリアで使われ始め,そこから各地に広まったと言われています。ヨーロッパではキリスト教その他さまざまな宗教に影響され,何回か名前が変わりましたが,極東だけには原型のまま日・月・五惑星の名前が残っているようです。
日本語 | フランス語 | 英語 | 中国語 | 古代ギリシア語 | |||
---|---|---|---|---|---|---|---|
日 | 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です。あなたも実際に試してみてください。
あなたは自分の干支は知っていますね。では生まれた日が何曜日かわかりますか?曜日は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で計算してみましょう。
Excelで曜日を求めるにはweekday関数とtext関数で簡単にできますが(図2),次の2点に注意する必要があります。
1. 有効なのは1900年3月1日以降であること。1899年12月31日以前では全く無効で,1900年の1月と2月は曜日が1つずれている。
2. weekday関数で求めた曜日番号は1から7までで,1…日,2…月,・・・,7…土と定義され,上記と異なっている。
19世紀,さらに紀元前の曜日や干支を求めるには実際に割算の余りを計算する必要があります。
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を計算して曜日を求めることができました。
余り | 曜日 | 十干 | 十二支 |
---|---|---|---|
0 | 日 | 庚 (かのえ) | 申 (さる) |
1 | 月 | 辛 (かのと) | 酉 (とり) |
2 | 火 | 壬 (みずのえ) | 戌 (いぬ) |
3 | 水 | 癸 (みずのと) | 亥 (ゐ) |
4 | 木 | 甲 (きのえ) | 子 (ね) |
5 | 金 | 乙 (きのと) | 丑 (うし) |
6 | 土 | 丙 (ひのえ) | 寅 (とら) |
7 | 丁 (ひのと) | 卯 (う) | |
8 | 戊 (つちのえ) | 辰 (たつ) | |
9 | 己 (つちのと) | 巳 (み) | |
10 | 午 (うま) | ||
11 | 未 (ひつじ) |
太陽黄経が15の倍数になる日には季節感溢れる名前がついていて,「二十四節気」として親しまれています(表3)。「清明」とは清らかに晴れ渡った天空と百花が咲き競う大地を満喫できる4月5日ころ,また「霜降」とは北国や山間部では霜が降りて朝には草木が白く化粧し始める10月23日ころです。もっとも最近は温暖化のせいで,小雪・大雪など時節に合わなくなったものもあります。そのうち黄経が30の倍数になるものは中,そうでないものは節と言われます。中は旧暦の月の名前を決定するために用いられ「二月中」を含む月を「二月」とします。春分は「二月中」で,春分直前の新月の時刻を含む日が2月1日となります。同様に夏至・秋分・冬至は必ず5月・8月・11月に入ります。また処暑直前の新月の時刻を含む日から数えて7日目が旧7月7日,すなわち伝統的七夕の日です。2005年の七夕は8月11日で,2006年は7月31日,そのころは梅雨も上がって天候も安定しているし,織姫・彦星は天高く眺めやすいところにやってきます。実際,7月7日前後は集中豪雨が多く,とても星空を眺めるどころではありませんね。
黄経 | 節気 | 節中 |
---|---|---|
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を求めるためにはこの非線形方程式を解かねばなりません。高次方程式,非線形方程式の解法にはニュートン法がよく使われますが,ここでは次のようにして微分係数の知識なしで解を求めてみます。
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]に加筆したもので,また曜日と干支の算出法は京都コンピュータ学院のプログラム演習の課題として使ったものです。