rokuyo
新暦(グレゴリオ暦)の日付から六曜を計算するスキル。国立天文台暦計算室の暦要項(朔弦望・二十四節気)から作った旧暦変換テーブルを内蔵し、ネットワーク不要で動く。
計算方法
六曜は旧暦の「月」と「日」の和を6で割った余りで決まる。
| 余り | 六曜 | 余り | 六曜 |
|---|
| 0 | 大安 | 3 | 友引 |
| 1 | 赤口 | 4 | 先負 |
| 2 | 先勝 | 5 | 仏滅 |
手順:
- 下のテーブルで、対象の日付が含まれる行(旧暦月の始まり=朔の日)を探す。
- 旧暦の日 =
対象日 - 月の初日 + 1。
(旧暦の月の番号 + 旧暦の日) % 6 を上の表にあてはめる。閏月の行は前の月と同じ番号を使う(「閏6」なら6)。
例: 2026-09-11 → テーブルで「2026-09-11 旧暦8月開始」の行 → 旧暦8月1日 → (8+1)%6=3 → 友引(外部カレンダーと照合済み)。
旧暦月テーブル(朔=旧暦の各月の初日)
国立天文台暦計算室の暦要項「朔弦望」「二十四節気および雑節」(2026年: https://eco.mtk.nao.ac.jp/koyomi/yoko/2026/rekiyou263.html / 2027年: https://eco.mtk.nao.ac.jp/koyomi/yoko/2027/rekiyou273.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開始の行は「朔の日」自体は暦要項2027年版に収録済みだが、翌朔が2028年版待ちのためこの月の日付計算は保証外。計算を保証するのは2027-12-27まで。
エラー・失敗時の対応
共通の取得時チェックリストは 共通レスポンス契約 の「取得時の落とし穴チェックリスト」を参照。
注意
- 六曜は吉凶の参考情報。科学的根拠のある指標ではないので、重要な判断の唯一の理由にしないようユーザーに伝える。
- 旧暦の月の長さは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.