zakuro は日本の暦を扱う暦算ライブラリです。
石榴(ざくろ)は古来より珍重され、シルクロードを通じて洋の東西に広く伝播した落葉小高木です。
すなわち、中華世界においては 太陰太陽暦
、地中海世界においては 太陽暦
のもとで育ち、これら東西の暦はシルクロードの東端たる日本に深い影響を与えております。
日本の暦は中国に端を発しますが、江戸時代以降は西洋の文物からも深く学び、日本人は暦算を自らのものとしました。
石榴はただ伝来しただけでなく、日本の地に根づいております。これを日本の暦になぞらえ、和名の「ざくろ」を冠することと致します。
下記3資料を用いた和暦日(没日・滅日あり)の特定を一度の検索で可能とします。
- 『日本暦日原典〔第四版〕』
- 『日本暦日便覧』第四章 没日と滅日
- 『日本史年表 第5版』
上記資料を用いる場合は、西暦年月日から1、2の該当のページを引き当てます。
ただし、元号年表記のため、正確な元号は3の元号年月日を参照する必要があります。
本ライブラリはこの手順をスキップし、直接、暦算値つきの和暦日を結果とします。
さらに、和暦日からの西暦日検索も併せて可能とします。
日本の暦日データベース に近しい機能を持ちますが、
暦算値や没日・滅日を併せて結果出力する点が異なります。
Rubyの推奨バージョンは次の範囲とします。
2.6.x - 3.3.x
当ライブラリのバージョンが 1.0.0
の時点では、下記バージョンで動作確認を実施しております。
- 2.6.3
- 2.7.6
- 3.0.6
- 3.1.4
- 3.2.2
- 3.3.0-preview1
rubygem に登録しております。
gem 'zakuro'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install zakuro
開発途中です。
1日検索/期間検索に対応しております。
バージョンが 1.0.0
の時点では、下記表で暦算ありの暦が使用可能です。
開始日 | 暦 | 計算方法 | 暦算 | 没日 | 滅日 |
---|---|---|---|---|---|
445/01/24 | 元嘉暦 | ✓ | - | - | |
698/02/16 | 儀鳳暦 | A | ✓ | - | - |
B | - | - | - | ||
C | - | - | - | ||
764/02/07 | 大衍暦 | A | ✓ | ✓ | ✓ |
B | - | - | - | ||
C | - | - | - | ||
862/02/03 | 宣明暦 | ✓ | ✓ | ✓ | |
1685/02/04 | 貞享暦 | - | - | - | |
1755/02/11 | 宝暦暦 | - | - | - | |
1798/02/16 | 寛政暦 | - | - | - | |
1844/02/18 | 天保暦 | - | - | - | |
1872/12/09 | グレゴリオ暦 | - | - | - |
表中A-Cは月の運動の計算手順ごとに分類されます。
現在は「長慶宣明暦算法」の計算手順Aのみ対応しております。
使用方法 を参照してください。
条件 を参照してください。
期待値 を参照してください。
一覧 を参照してください。
一部の月では計算値から運用値への書き換えが発生します。
経緯は 実運用 を参照してください。
暦算の解説は次の通りです。
暦 | 有無 |
---|---|
元嘉暦 | ✓ |
儀鳳暦 | ✓ |
大衍暦 | ✓ |
宣明暦 | ✓ |
貞享暦 | - |
宝暦暦 | - |
寛政暦 | - |
天保暦 | - |
グレゴリオ暦 | - |
項目 | 有無 |
---|---|
没日 | ✓ |
滅日 | ✓ |
条件不正などで例外が発生します。 詳細は 例外処理 を参照してください。
バグ報告/修正はこちらまで。
https://github.com/pldb/zakuro
gem は MIT License の条件の下、オープンソースとして利用可能です。