旧暦と天保暦を自動計算するPythonコード

先日北海道の七夕の話をシェアしました。

これは旧暦と関連することがわかったわけですが、すると日本の文化的な背景には旧暦とは切ってもきれない関係なわけで、調べていくと、旧暦は中国文化の派生であるのに対し、天保暦というものも存在するようで、主に江戸時代に使われていた純日本製の暦だそうです。

そこで、Pythonで旧暦を出すコードを作ってみましょう。

中国の旧暦は簡単です。

ZhDateライブラリのインストール

ZhDateライブラリは、Pythonで「新暦(グレゴリオ暦)」から「旧暦(中国式太陰太陽暦)」への変換を簡単に実現できるサードパーティライブラリです。特に個人利用や日常的な行事日付の確認、ブログ・趣味用途で多く使われています。

pip install zhdate
from zhdate import ZhDate
from datetime import datetime

date_str = input("新暦(例: 2023-08-07)の日付を入力してください: ")
dt = datetime.strptime(date_str, "%Y-%m-%d")
lunar = ZhDate.from_datetime(dt)
print("旧暦:", lunar)

天保暦の計算も自動化する

天保暦ベースの旧暦変換Pythonスクリプトは、一般には「qreki」ライブラリが実装例として推奨されています。

qrekiは「天保暦法を参考」にした、日本の旧暦(太陰太陽暦)計算をPythonで実現する数少ないツールです。

github経由でインストール

pip install git+https://github.com/fgshun/qreki_py.git@v0.6.1#egg=qreki
from qreki import Kyureki
from datetime import datetime

date_str = input('新暦(YYYY-MM-DD)の日付を入力してください: ')
dt = datetime.strptime(date_str, '%Y-%m-%d')
kyureki = Kyureki.from_date(dt)

print(f"旧暦: {kyureki.year}年{kyureki.month}月{kyureki.day}日" +
      ("(閏月)" if kyureki.leap_month else ""))

これで天保暦の計算ができます。


江戸時代の純日本製旧暦を使用することで、自然と調和した暮らしを送ってみてはいかがでしょうか?

  1. 伝統行事や祭りの日付決定・告知七夕・節分・お月見・旧正月など、多くの日本伝統行事は旧暦に基づいています。天保暦で正確な旧暦の日付を計算・告知することで、地域イベントや神社仏閣の祭り情報を正確かつ古式ゆかしい形で発信できます。
  2. 農業・漁業・自然と調和したライフスタイル支援農家や漁業者は旧暦による二十四節気や月齢を活用し、種まき・収穫・潮の満ち引きなどを判断しています。天保暦のデータを使うことで「自然のリズムに沿った営み」を実現でき、持続可能な農法や釣りの計画にも応用できます。
  3. 旧暦カレンダーやアプリへの応用天保暦の計算をもとに、自家製旧暦カレンダーやデジタルアプリ(スケジュール管理、節気・六曜表示、吉日のリマインダー)を開発・公開できます。これにより伝統文化と現代技術を融合したサービス・商品展開が可能です。
  4. 健康・生活リズムへの活用旧暦の季節の変化や土用などに合わせて体調管理や食材選択を行うことで、季節感を味わいつつ健康増進にも貢献します。例えば、土用の丑の日に鰻を食べて夏バテ予防、月齢を意識して運動・休養の計画を立てるなど。
朝比奈幸太郎

音楽家:朝比奈幸太郎

神戸生まれ。2025 年、40 年近く住んだ神戸を離れ北海道・十勝へ移住。
録音エンジニア五島昭彦氏より金田式バランス電流伝送 DC 録音技術を承継し、 ヴィンテージ機材で高品位録音を実践。
ヒーリング音響ブランド「Curanz Sounds」でソルフェジオ周波数音源を配信。
“音の文化を未来へ”届ける活動を展開中。