Upgrade to Pro — share decks privately, control downloads, hide ads and more …

和暦を正しく扱うための暦の話

nagise
January 21, 2023

 和暦を正しく扱うための暦の話

burikaigi 2023 の懇親会で発表したセッションの資料です。
日本では明治6年(1873)よりグレゴリオ暦が採用されましたが、それ以前の年代での和暦の扱いについて注意点をまとめたものです。

nagise

January 21, 2023
Tweet

More Decks by nagise

Other Decks in Programming

Transcript

  1. グレゴリオ暦 • ローマ教皇グレゴリウス13世がユリウス暦の改良を命じ、1582 年10月15日金曜日から行用 • 年が4で割り切れる年が閏年 • ただし、年が100で割り切れる場合は平年 • ただし、年が400で割り切れる場合は閏年

    • 400年に97回の閏年 • 閏日2月29日はコンピュータシステム上、バグが生じやすい日 • 1582年以前に対して遡って適用するものを先発グレゴリオ暦と いう。ISO 8601も先発グレゴリオ暦
  2. 太陽太陰暦 • 地球が太陽の周りを回る周期と、月が地球の周りを回る周期の 両方を基にする • つまり、複雑 • 日本の古代の暦は中国の暦法の輸入 • 月の満ち欠けの周期は平均して約29.53日

    • 1か月を30日の大の月と、29日の小の月をおいて調整する • 1日は新月の日で朔(さく)とも呼ばれる • 15日あたりが満月になるが、実際にはもっと複雑
  3. 元号の停止と再開 • 大化(645年~650年) • 白雉(650年~655年) • 斉明(さいめい)天皇(655年~661年) • 天智(てんぢ)天皇(662年~672年) •

    天武(てんむ)天皇(673年~686年) • 朱鳥(しゅちょう、すちょう、あかみとり)(686年~687年) • 持統(じとう)天皇(687年~697年) • 文武(もんむ)天皇(697年~701年) • 大宝(たいほう)(701年~704年)元年に大宝律令が完成 太字は元号。元号停止期間中は即位紀元が用いられていた
  4. 古代の和暦の紀年法をどうするか • 元号のみとすると「大宝」以前に元号停止期間があるので問題 が生じる • 大宝以降のみを扱う案 • 即位紀元を併用する案 • 即位紀元を併用すれば停止期間を含めて表現可能

    • しかし最初の元号「大化」より以前の時代にすでに即位紀元が用いら れている • どこまで遡って対応するのか • 干支による年の表現をどうするか問題
  5. 干支による日の表現 • 年とは独立に、日も干支で順に数える習慣がある • 2023年1月21日は干支の16番目、己卯(つちのと う) • 前日の金曜は15番目の戊寅(つちのえとら) • 明日の日曜は17番目の庚辰(かのえたつ)

    • 神武天皇の即位日は《辛酉年春正月 庚辰朔》 • 辛酉年の正月の朔日(1日)が庚辰であるの意味 • 「癸卯年己卯、行鰤会議」といった記述で年月が分 かる仕組みとなっている • 使われている以上は算出したい
  6. 3桁の年号 古代の天皇はやたら長生き 1. 景行天皇(第12代): 143歳 2. 仁徳天皇(第16代): 143歳 3. 垂仁天皇(第11代):

    139歳 4. 孝安天皇(第6代): 137歳 5. 孝霊天皇(第7代): 128歳 在位年数が最長なのは孝安天皇(第6代)で102年 年号が2桁だと足りない 孝安天皇102年の正月は戊戌(つちのえいぬ) 日本書紀暦日原典より
  7. 元嘉暦 • 日本最古の暦法 • 『宋書十三 志第三』 (沈約 487~502 年ごろ?) に記載

    • 元嘉暦は比較的原始的な暦でメトン周 期19太陽年 = 235朔望月 に基づく • 《章歳十九》《章月二百三十五》 • アルゴリズムの一次資料に当たりたけ れば漢文を読む必要がある 宋書十三 志第三
  8. 平朔法 • 元嘉暦は原始的な暦法で、月 の満ち欠けの周期、朔望月を 単純に 22207/752 ≒ 29.53 日と置いている •

    実際には平均29.53日で満ち 欠けするが29.3~29.8日と幅 がある • 平朔法ではこれを考慮しない
  9. 平気法 • 二十四節気も単純に1年を24等分している • 元嘉暦では1太陽年 = 222070 / 608 ≒

    365.2467日 • 実際には地球から見た太陽の動きは一定で はなく、冬に早く、夏は遅い • 地球の公転の楕円軌道の関係。近日点は1月 あたり
  10. 元嘉暦の計算の概要 • メトン周期 19太陽年 = 235朔望月 に基づく • 1太陽年あたりの朔望月は 235/19

    • 1) で原点である上元からの年数にこれを掛ける • その端数が元旦での月の位置を表す • 1朔望月 = 22207/752 ≒ 29.53 日としている • 2)でこれを掛け、商が正月朔の日、余りが正月朔の時間となる • 3)で60で割って干支を求めている
  11. 儀鳳暦 • 元嘉暦とともに日本最古の暦法 • 持統天皇6年(西暦692年)より元嘉暦と儀鳳暦とが併用 • 《奉勅始行元嘉暦與儀鳳暦》 • 後に元嘉暦が廃され儀鳳暦が単独で用いられる •

    中国では唐の麟徳二年(665)~開元十六年(728)の64年間 • 元嘉暦が445年の暦であることを鑑みると当時最新の暦 • 定朔法(月の満ち欠けの周期を考慮) • 破章法(メトン周期よりも精度を高める)
  12. 儀鳳暦の定気法 • 儀鳳暦では1年を489428 / 1340 ≒ 365.2447 としている • これを24で割って太陽表の躔差率を

    加えて補正する • 日本ではこの補正を略して平気法で 計算を行っていたようだ 儀鳳暦の太陽表 日本暦日原典より
  13. 日本書紀暦日原典 • 日本書紀の暦日は5世紀なかばまでは儀鳳暦(但 し平朔法)以後は元嘉暦によるものであること が知られる。 • 日本書紀の暦日に就て 小川清彦(昭和21年) • 日本書紀暦日原典(内田正男

    昭和53年)は日本書 紀に出てくる約900の朔干支を、コンピュータ で算出した暦と照らし合わせて異同を参照でき るようにした本 • 紀元前666年~紀元後697年まで
  14. 日本書紀の暦 • 5世紀なかばまでは儀鳳暦 • 以後は元嘉暦 • 古い時代に新しい暦が用いら れている? • 日本では皇紀元年に中国より

    1300年進んだ暦を独自に開発 して使っていたんだ!🤥 • 紀元前433年のアテナイの数学 者・メトンより早く(以下略
  15. 和暦ライブラリ • そんなあれこれに対応できる和暦の ライブラリを細々と書いています • Araragi (仮称) • グレゴリオ暦の実装 –

    済 • ユリウス暦の実装 – 済 • 元嘉暦の実装 – 済 • 儀鳳暦の実装 – 仕掛中 • その他7暦法対応予定