rokuyo · git:20260910.f9a862f · 2026-09-10 · sha256 7456650f6a9434f5
rokuyo git:20260910.f9a862fA
Immutable. This exact content never changes and is served at /api/v1/blob/7456650f6a9434f5.
--- name: rokuyo description: 新暦の日付から六曜(大安・赤口・先勝・友引・先負・仏滅)を計算する。六曜、大安、仏滅、縁起のいい日、選日の質問に対応。旧暦変換テーブル内蔵でAPIキー・ログイン不要。祝日はjapan-holidays、和暦変換はwarekiを使う。 license: MIT metadata: category: calendar locale: ja-JP --- # rokuyo 新暦(グレゴリオ暦)の日付から六曜を計算するスキル。国立天文台暦計算室の暦要項(朔弦望・二十四節気)から作った旧暦変換テーブルを内蔵し、ネットワーク不要で動く。 ## 計算方法 六曜は旧暦の「月」と「日」の和を6で割った余りで決まる。 | 余り | 六曜 | 余り | 六曜 | | --- | --- | --- | --- | | 0 | 大安 | 3 | 友引 | | 1 | 赤口 | 4 | 先負 | | 2 | 先勝 | 5 | 仏滅 | 手順: 1. 下のテーブルで、対象の日付が含まれる行(旧暦月の始まり=朔の日)を探す。 2. 旧暦の日 = `対象日 - 月の初日 + 1`。 3. `(旧暦の月の番号 + 旧暦の日) % 6` を上の表にあてはめる。閏月の行は前の月と同じ番号を使う(「閏6」なら6)。 例: 2026-09-11 → テーブルで「2026-09-11 旧暦8月開始」の行 → 旧暦8月1日 → (8+1)%6=3 → **友引**(外部カレンダーと照合済み)。 ## 旧暦月テーブル(朔=旧暦の各月の初日) 国立天文台暦計算室の暦要項「朔弦望」「二十四節気および雑節」(https://eco.mtk.nao.ac.jp/koyomi/yoko/2026/rekiyou263.html ほか各年)から計算。閏月は「中気を含まない月」という公式ルールで判定。2026-09-11に外部カレンダー2件と照合して検証済み(閏月含む)。 | 朔の日(新暦) | 旧暦 | 朔の日(新暦) | 旧暦 | | --- | --- | --- | --- | | 2024-12-01 | 11月 | 2026-04-17 | 3月 | | 2024-12-31 | 12月 | 2026-05-17 | 4月 | | 2025-01-29 | 1月 | 2026-06-15 | 5月 | | 2025-02-28 | 2月 | 2026-07-14 | 6月 | | 2025-03-29 | 3月 | 2026-08-13 | 7月 | | 2025-04-28 | 4月 | 2026-09-11 | 8月 | | 2025-05-27 | 5月 | 2026-10-11 | 9月 | | 2025-06-25 | 6月 | 2026-11-09 | 10月 | | 2025-07-25 | 閏6月 | 2026-12-09 | 11月 | | 2025-08-23 | 7月 | 2027-01-08 | 12月 | | 2025-09-22 | 8月 | 2027-02-07 | 1月 | | 2025-10-21 | 9月 | 2027-03-08 | 2月 | | 2025-11-20 | 10月 | 2027-04-07 | 3月 | | 2025-12-20 | 11月 | 2027-05-06 | 4月 | | 2026-01-19 | 12月 | 2027-06-05 | 5月 | | 2026-02-17 | 1月 | 2027-07-04 | 6月 | | 2026-03-19 | 2月 | 2027-08-02 | 7月 | 表の区切りの注意: 2026-07-14開始の月は2026-08-12まで、2027-08-02開始の月は2027-08-31まで。テーブル収録範囲は2024-12-01から2027-12-27まで(暦要項2027年版には2027-12-28の朔まで収録されている。2026-09-11に2024〜2027年の全朔日を暦要項と照合済み)。2027-12-28以降の分は暦要項2028年版が出たら追記する。 続き(2027年9月以降): 2027-09-01=8月、2027-09-30=9月、2027-10-29=10月、2027-11-28=11月、2027-12-28=12月開始(各々翌朔の前日まで。2027-12-28開始の月は翌朔が暦要項2028年版待ちのため、計算を保証するのは2027-12-27まで)。 ## エラー・失敗時の対応 - このスキルはネットワークを使わない。 - **テーブル範囲外の日付**: 推測で計算しない。「内蔵テーブルの範囲外(2024-12-01〜2027-12-27)」と明示する。正確な値は国立天文台暦計算室の暦要項(https://eco.mtk.nao.ac.jp/koyomi/yoko/)で確認できる。 - **結果の伝え方**: 六曜は旧暦ベースなので、「新暦○年○月○日 = 旧暦○月○日 → 大安」のように根拠を添えると誤解がない。 ## 注意 - 六曜は吉凶の参考情報。科学的根拠のある指標ではないので、重要な判断の唯一の理由にしないようユーザーに伝える。 - 旧暦の月の長さは29日か30日。テーブルの「次の朔の前日」がその月の末日。 - 同じ新暦の日でも年が違えば六曜は変わる。毎年計算し直す。 ## English summary Computes rokuyo (the six-day fortune cycle: taian, shakkou, senshou, tomobiki, senbu, butsumetsu) from a Gregorian date, using a built-in lunar-calendar table derived from the National Astronomical Observatory of Japan's official almanac (new moons and solar terms). No network access needed. Formula: (lunar month + lunar day) mod 6, where 0=taian. Covers 2024-12-01 through 2027-12-27; for dates outside the table, say so instead of guessing. Leap months reuse the previous month's number. Rokuyo is a folk fortune indicator - tell the user it has no scientific basis.