zakuro 0.9.0 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +50 -178
- data/VERSION +1 -1
- data/doc/condition.md +38 -0
- data/doc/dropped_date.md +41 -0
- data/doc/expection.md +119 -0
- data/doc/operation/csv/month.csv +4 -4
- data/doc/operation/operation.xlsx +0 -0
- data/doc/usage.md +120 -0
- data/doc/vanished_date.md +86 -0
- data/doc/version/daien.md +163 -0
- data/doc/version/genka.md +116 -0
- data/doc/version/gihou.md +172 -0
- data/doc/version/section/common_post_process.md +60 -0
- data/doc/version/section/common_pre_process.md +185 -0
- data/doc/version/section/const.md +45 -0
- data/doc/version/section/decimal.md +101 -0
- data/doc/version/section/lunisolar_calendar.md +55 -0
- data/doc/version/section/senmyou_november_1st.md +41 -0
- data/{lib/zakuro/version/senmyou/README.md → doc/version/senmyou.md} +15 -168
- data/lib/zakuro/calculation/cycle/abstract_remainder.rb +58 -0
- data/lib/zakuro/calculation/era/gengou/abstract_scroll.rb +2 -2
- data/lib/zakuro/calculation/era/gengou/internal/reserve/abstract_range.rb +5 -5
- data/lib/zakuro/calculation/era/gengou/internal/reserve/named_range.rb +1 -1
- data/lib/zakuro/calculation/monthly/first_day.rb +9 -1
- data/lib/zakuro/calculation/monthly/operated_month.rb +18 -1
- data/lib/zakuro/calculation/option/vanished_date/abstract_parameter.rb +40 -0
- data/lib/zakuro/calculation/option/vanished_date/location.rb +84 -0
- data/lib/zakuro/calculation/range/medieval_annual_range.rb +5 -3
- data/lib/zakuro/calculation/range/transfer/gengou_scroller.rb +1 -0
- data/lib/zakuro/calculation/stella/lunar/abstract_location.rb +6 -2
- data/lib/zakuro/calculation/stella/lunar/choukei_value.rb +14 -0
- data/lib/zakuro/calculation/summary/internal/option.rb +71 -9
- data/lib/zakuro/context/option.rb +17 -0
- data/lib/zakuro/context/version_class_resolver.rb +17 -1
- data/lib/zakuro/era/japan/calendar.rb +2 -2
- data/lib/zakuro/era/japan/gengou/resource/validator.rb +2 -2
- data/lib/zakuro/era/western/calendar.rb +5 -11
- data/lib/zakuro/era/western/date_text.rb +40 -0
- data/lib/zakuro/gateway/locale/date.rb +2 -2
- data/lib/zakuro/operation/month/validator.rb +7 -1
- data/lib/zakuro/operation/yaml/month.yaml +14 -14
- data/lib/zakuro/result/data/option/vanished_date/calculation.rb +45 -0
- data/lib/zakuro/result/data/option/vanished_date/option.rb +47 -0
- data/lib/zakuro/result/data/single_day.rb +2 -0
- data/lib/zakuro/version/daien/const/number.rb +2 -0
- data/lib/zakuro/version/daien/const/remainder.rb +7 -2
- data/lib/zakuro/version/daien/cycle/remainder.rb +38 -20
- data/lib/zakuro/version/daien/monthly/lunar_phase.rb +2 -4
- data/lib/zakuro/version/daien/option/dropped_date/parameter.rb +5 -3
- data/lib/zakuro/version/daien/option/vanished_date/parameter.rb +33 -0
- data/lib/zakuro/version/daien/stella/lunar/location.rb +5 -8
- data/lib/zakuro/version/genka/cycle/remainder.rb +6 -2
- data/lib/zakuro/version/genka/monthly/lunar_phase.rb +14 -3
- data/lib/zakuro/version/genka/option/vanished_date/parameter.rb +31 -0
- data/lib/zakuro/version/gihou/const/remainder.rb +1 -5
- data/lib/zakuro/version/gihou/cycle/remainder.rb +0 -26
- data/lib/zakuro/version/gihou/monthly/lunar_phase.rb +2 -4
- data/lib/zakuro/version/gihou/option/vanished_date/parameter.rb +31 -0
- data/lib/zakuro/version/gihou/stella/lunar/location.rb +5 -8
- data/lib/zakuro/version/senmyou/const/number.rb +3 -1
- data/lib/zakuro/version/senmyou/const/remainder.rb +4 -2
- data/lib/zakuro/version/senmyou/cycle/remainder.rb +17 -34
- data/lib/zakuro/version/senmyou/monthly/lunar_phase.rb +5 -5
- data/lib/zakuro/version/senmyou/option/vanished_date/parameter.rb +33 -0
- data/lib/zakuro/version/senmyou/stella/lunar/location.rb +6 -8
- data/lib/zakuro/version/senmyou/stella/lunar/value.rb +9 -0
- metadata +25 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eef9c974d34a357b894544e6fdd53aa5fd2b33e6586c82dd1358ffc899b1ea7b
|
4
|
+
data.tar.gz: 190feb3886ad674687408879ee217a7a9e345c4c18d01df5ab933696ab8c531d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0741d6b76105d9d68fb7ecd871020e960069e8c4db157731c516262ee9ff402a269321e9ca977036e04aaa33a9567f372d10263b8b6067929d449cbb6c0a4bb3
|
7
|
+
data.tar.gz: e804acf9242d08991f4a6eb92e8f72604b60fc00895257014e87535511bd4cac5a3563fb87cb0bf25fef478e8784c908d76d4953c56343b3ca81e212aee127a2
|
data/README.md
CHANGED
@@ -40,191 +40,41 @@ Or install it yourself as:
|
|
40
40
|
|
41
41
|
1日検索/期間検索に対応しております。
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|開始日|暦
|
46
|
-
|
47
|
-
|445/01/24|元嘉暦|
|
48
|
-
|698/02/16|儀鳳暦|A
|
49
|
-
| | |B
|
50
|
-
| | |C
|
51
|
-
|764/02/07|大衍暦|A
|
52
|
-
| | |B
|
53
|
-
| | |C
|
54
|
-
|862/02/03|宣明暦|
|
55
|
-
|1685/02/04|貞享暦|
|
56
|
-
|1755/02/11|宝暦暦|
|
57
|
-
|1798/02/16|寛政暦|
|
58
|
-
|1844/02/18|天保暦|
|
59
|
-
|1872/12/09|グレゴリオ暦|
|
43
|
+
下記表で暦算ありの暦は使用可能です。
|
44
|
+
|
45
|
+
|開始日|暦 |計算方法|暦算|没日|滅日|
|
46
|
+
|:----|:----|:----|:---|:---|:---|
|
47
|
+
|445/01/24|元嘉暦| |✓|-|-|
|
48
|
+
|698/02/16|儀鳳暦|A|✓|-|-|
|
49
|
+
| | |B|-|-|-|
|
50
|
+
| | |C|-|-|-|
|
51
|
+
|764/02/07|大衍暦|A|✓|✓|✓|
|
52
|
+
| | |B|-|-|-|
|
53
|
+
| | |C|-|-|-|
|
54
|
+
|862/02/03|宣明暦| |✓|✓|✓|
|
55
|
+
|1685/02/04|貞享暦| |-|-|-|
|
56
|
+
|1755/02/11|宝暦暦| |-|-|-|
|
57
|
+
|1798/02/16|寛政暦| |-|-|-|
|
58
|
+
|1844/02/18|天保暦| |-|-|-|
|
59
|
+
|1872/12/09|グレゴリオ暦| |-|-|-|
|
60
|
+
|
61
|
+
表中A-Cは月の運動の計算手順ごとに分類されます。
|
62
|
+
|
63
|
+
現在は「長慶宣明暦算法」の計算手順Aのみ対応しております。
|
64
|
+
|
65
|
+
「没日」「滅日」は計算できますが、正誤を確認中です。
|
60
66
|
|
61
67
|
# 使用方法
|
62
68
|
|
63
|
-
|
64
|
-
require 'zakuro'
|
65
|
-
|
66
|
-
# 西暦日 -> 和暦日への変換方法を示す
|
67
|
-
|
68
|
-
# ざくろ商人(Zakuro::Merchant)に西暦日を渡し、和暦日を受け取る
|
69
|
-
western_date = Date.new(862, 2, 3)
|
70
|
-
|
71
|
-
# 初期化時の設定
|
72
|
-
merchant = Zakuro::Merchant.new(condition: { date: western_date })
|
73
|
-
puts merchant.commit.to_json
|
74
|
-
# => {"data":{"year":{"first_gengou":{"name":"貞観","number":4},"second_gengou":{"name":"","number":-1},"zodiac_name":"壬午","total_days":354},"month":{"number":1,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"odd_solar_terms":[{"index":5,"remainder":"34-5368"}],"even_solar_terms":[{"index":4,"remainder":"19-3532"}]},"day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"options":{}},"operation":{"operated":false,"month":{"current":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]},"parent":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]}},"original":{"year":{"first_gengou":{"name":"貞観","number":4},"second_gengou":{"name":"","number":-1},"zodiac_name":"壬午","total_days":354},"month":{"number":1,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"odd_solar_terms":[{"index":5,"remainder":"34-5368"}],"even_solar_terms":[{"index":4,"remainder":"19-3532"}]},"day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"options":{}}}}
|
75
|
-
|
76
|
-
western_date = Date.new(1685, 2, 3)
|
77
|
-
|
78
|
-
# 再設定
|
79
|
-
# merchant = Zakuro::Merchant.new
|
80
|
-
merchant.offer(condition: { date: western_date })
|
81
|
-
puts merchant.commit.to_json
|
82
|
-
# => {"data":{"year":{"first_gengou":{"name":"貞享","number":1},"second_gengou":{"name":"","number":-1},"zodiac_name":"","total_days":354},"month":{"number":12,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"壬辰","remainder":"28-4182","western_date":"1685-01-05"},"odd_solar_terms":[{"index":1,"remainder":"30-890"}],"even_solar_terms":[{"index":2,"remainder":"45-2726"}]},"day":{"number":30,"zodiac_name":"辛酉","remainder":"57-4182","western_date":"1685-02-03"},"options":{}},"operation":{"operated":false,"month":{"current":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]},"parent":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]}},"original":{"year":{"first_gengou":{"name":"貞享","number":1},"second_gengou":{"name":"","number":-1},"zodiac_name":"","total_days":354},"month":{"number":12,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"壬辰","remainder":"28-4182","western_date":"1685-01-05"},"odd_solar_terms":[{"index":1,"remainder":"30-890"}],"even_solar_terms":[{"index":2,"remainder":"45-2726"}]},"day":{"number":30,"zodiac_name":"辛酉","remainder":"57-4182","western_date":"1685-02-03"},"options":{}}}}
|
83
|
-
|
84
|
-
# 期間検索
|
85
|
-
merchant = Zakuro::Merchant.new(condition: { range: {start: Date.new(862, 2, 3), last: Date.new(862, 2, 4)}})
|
86
|
-
puts merchant.commit.to_json
|
87
|
-
# => {"list":[{"data":{"year":{"first_gengou":{"name":"貞観","number":4},"second_gengou":{"name":"","number":-1},"zodiac_name":"壬午","total_days":354},"month":{"number":1,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"odd_solar_terms":[{"index":5,"remainder":"34-5368"}],"even_solar_terms":[{"index":4,"remainder":"19-3532"}]},"day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"options":{}},"operation":{"operated":false,"month":{"current":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]},"parent":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]}},"original":{"year":{"first_gengou":{"name":"貞観","number":4},"second_gengou":{"name":"","number":-1},"zodiac_name":"壬午","total_days":354},"month":{"number":1,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"odd_solar_terms":[{"index":5,"remainder":"34-5368"}],"even_solar_terms":[{"index":4,"remainder":"19-3532"}]},"day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"options":{}}}},{"data":{"year":{"first_gengou":{"name":"貞観","number":4},"second_gengou":{"name":"","number":-1},"zodiac_name":"壬午","total_days":354},"month":{"number":1,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"odd_solar_terms":[{"index":5,"remainder":"34-5368"}],"even_solar_terms":[{"index":4,"remainder":"19-3532"}]},"day":{"number":2,"zodiac_name":"辛未","remainder":"7-1282","western_date":"0862-02-04"},"options":{}},"operation":{"operated":false,"month":{"current":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]},"parent":{"id":"","western_date":"","page":-1,"number":-1,"annotations":[]}},"original":{"year":{"first_gengou":{"name":"貞観","number":4},"second_gengou":{"name":"","number":-1},"zodiac_name":"壬午","total_days":354},"month":{"number":1,"leaped":false,"days_name":"大","first_day":{"number":1,"zodiac_name":"庚午","remainder":"6-1282","western_date":"0862-02-03"},"odd_solar_terms":[{"index":5,"remainder":"34-5368"}],"even_solar_terms":[{"index":4,"remainder":"19-3532"}]},"day":{"number":2,"zodiac_name":"辛未","remainder":"7-1282","western_date":"0862-02-04"},"options":{}}}}]}
|
88
|
-
```
|
69
|
+
[使用方法](./doc/usage.md) を参照してください。
|
89
70
|
|
90
71
|
# 条件
|
91
72
|
|
92
|
-
|
93
|
-
|
94
|
-
| 項目名 | キー名 | hash内キー名 | データ型 | 備考 |
|
95
|
-
|----------------|---------|--------------|----------|--------------------|
|
96
|
-
| 基準日 | date | | Date | 西暦日 |
|
97
|
-
| | | | String | 和暦日/西暦日 |
|
98
|
-
| 範囲(開始日) | range | start | Date | 西暦日 |
|
99
|
-
| | | | String | 和暦日/西暦日 |
|
100
|
-
| 範囲(終了日) | | last | Date | 西暦日 |
|
101
|
-
| | | | String | 和暦日/西暦日 |
|
102
|
-
| 列 | columns | | Array | 取得したい列の列名 |
|
103
|
-
| オプション | options | | Hash<String, Object> | 取得オプション |
|
104
|
-
|
105
|
-
現時点では `date` と `range` のみ対応中です。
|
106
|
-
|
107
|
-
## オプション
|
108
|
-
|
109
|
-
| 項目名 | キー名 | データ型 | データ | 備考 |
|
110
|
-
|--------|-----------|----------|--------|------------------------|
|
111
|
-
| 暦 | version | String | Genka | 元嘉暦 |
|
112
|
-
| | | | Gihou | 儀鳳暦 |
|
113
|
-
| | | | Daien | 大衍暦 |
|
114
|
-
| | | | Senmyou | 宣明暦 |
|
115
|
-
| | | | Joukyou | 貞享暦 |
|
116
|
-
| | | | Kansei | 寛政暦 |
|
117
|
-
| | | | Tenpou | 天保暦 |
|
118
|
-
| | | | Gregorio | グレゴリオ暦 |
|
119
|
-
| | | | | 指定なし(デフォルト) |
|
120
|
-
| 没日 | dropped_days | TRUE | | 没日あり |
|
121
|
-
| | | FALSE | | 没日なし(デフォルト) |
|
122
|
-
| 四季 | seasons | TRUE | | 四季あり |
|
123
|
-
| | | FALSE | | 四季なし(デフォルト) |
|
124
|
-
|
125
|
-
現時点では宣明暦の [没日](./doc/dropped_date.md) のみ試験的に対応しております(結果未検証)。
|
73
|
+
[条件](./doc/condition.md) を参照してください。
|
126
74
|
|
127
75
|
# 期待値
|
128
|
-
|
129
|
-
|
130
|
-
## 種類
|
131
|
-
|
132
|
-
現状は一日検索のみ対応しております。
|
133
|
-
|
134
|
-
| 項目名 | データ型 |
|
135
|
-
|----------|------------------------|
|
136
|
-
| 一日検索 | Zakuro::Result::Single |
|
137
|
-
| 範囲検索 | Zakuro::Result::Range |
|
138
|
-
|
139
|
-
### Zakuro::Result::Single
|
140
|
-
|
141
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
142
|
-
|----------|-----------|---|---|-----------------------------------|--------|---------------------------------------|
|
143
|
-
| 日付情報 | data | | | Zakuro::Result::Data::SingleDay | - | 運用値(計算値は運用情報内を参照のこと)|
|
144
|
-
| 運用情報 | operation | | | Zakuro::Result::Operation | - | - |
|
145
|
-
|
146
|
-
### Zakuro::Result::Range
|
147
|
-
|
148
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
149
|
-
|----------|-----------|---|---|---------------------------------------|--------|---------------------------------------|
|
150
|
-
| 日リスト | list | | | Array\<Zakuro::Result::Data::Single\> | - | 範囲内の日付情報すべて |
|
151
|
-
|
152
|
-
### Zakuro::Result::SingleDay
|
153
|
-
|
154
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
155
|
-
|--------------------------|--------|------------------|--------------|---------------------------------|------------|----------------------------|
|
156
|
-
| 年情報 | year | | | Zakuro::Result::Data::Year | | |
|
157
|
-
| 年号 | | first_gengou | | Zakuro::Result::Data::Gengou | | |
|
158
|
-
| 元号 | | | name | String | 承平 | |
|
159
|
-
| 元号年 | | | number | Integer | 7 | |
|
160
|
-
| 年号(南北朝時代の北朝) | | second_gengou | | Zakuro::Result::Data::Gengou | | |
|
161
|
-
| 元号 | | | name | String | - | 南北朝時代の北朝のみ |
|
162
|
-
| 元号年 | | | number | Integer | - | 南北朝時代の北朝のみ |
|
163
|
-
| 年の干支 | | zodiac_name | | String | 丁酉 | |
|
164
|
-
| 年の日数 | | total_days | | Integer | 354 | |
|
165
|
-
| 月 | month | | | Zakuro::Result::Data::Month | | |
|
166
|
-
| 月番号 | | number | | Integer | 1 | x月 |
|
167
|
-
| 閏月判定 | | leaped | | True/False | false | 閏月(true)/平月(false) |
|
168
|
-
| 月の大小 | | days_name | | String | 大 | 大(30日) / 小(29日) |
|
169
|
-
| 月初日 | | first_day | number | Integer | 1 | x日(1日固定) |
|
170
|
-
| 月初日の干支 | | | zodiac_name | String | 甲寅 | |
|
171
|
-
| 月初日の大余小余 | | | remainder | String | 50-2479 | |
|
172
|
-
| 西暦日 | | | western_date | String | 0937-02-13 | |
|
173
|
-
| 節気 | | odd_solar_terms | | Zakuro::Result::Data::SolarTerm | | |
|
174
|
-
| 二十四節気番号 | | | index | Integer | 5 | 番号(冬至0始まり) |
|
175
|
-
| 二十四節気の大余小余 | | | remainder | String | 7-8293 | 大余小余 |
|
176
|
-
| 中気 | | even_solar_terms | | Zakuro::Result::Data::SolarTerm | | |
|
177
|
-
| 二十四節気番号 | | | index | Integer | 4 | 番号(冬至0始まり) |
|
178
|
-
| 二十四節気の大余小余 | | | remainder | String | 52-6457 | 大余小余 |
|
179
|
-
| 日 | day | | | Zakuro::Result::Data::Day | | |
|
180
|
-
| 日番号 | | number | | Integer | 2 | x日 |
|
181
|
-
| 日の干支 | | zodiac_name | | String | 乙卯 | 日の干支 |
|
182
|
-
| 日の大余小余 | | remainder | | String | 51-2479 | 大余小余 |
|
183
|
-
| 西暦日 | | western_date | | String | 0937-02-14 | 西暦日 |
|
184
|
-
| オプション | options | | | Hash<String, Zakuro::Result::Data::Option::AbstractOption>| | オプション値 |
|
185
|
-
|
186
|
-
### Zakuro::Result::Operation
|
187
|
-
|
188
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
189
|
-
|--------------|----------|------------|-------------|--------------------------------------------|---------|----------------------|
|
190
|
-
| 運用有無 | operated | | | True/False | true | |
|
191
|
-
| 月別履歴情報 | month | | | Zakuro::Result::Operation::Month | | |
|
192
|
-
| 計算値 | original | | | Zakuro::Result::Data::SingleDay | | 運用値差替前の計算値 |
|
193
|
-
|
194
|
-
### Zakuro::Result::Operation::Month
|
195
|
-
|
196
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
197
|
-
|--------------------------|----------|------------|----------|--------------------------------------------|--------------|---------------------------------------------|
|
198
|
-
| 月別履歴情報(当月) | current | | | Zakuro::Result::Operation::Month::History | |該当月の履歴情報 |
|
199
|
-
| 月別履歴情報(親) | parent | | | Zakuro::Result::Operation::Month::History | |前後の月により副次的に影響を受けた時の履歴情報|
|
200
|
-
|
201
|
-
|
202
|
-
### Zakuro::Result::Operation::Month::History
|
203
|
-
|
204
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
205
|
-
|-------------------|----------|--------------|-------------|----------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|----------------------|
|
206
|
-
| ID | | id | | String | 178-1-1 | zakuro内の一意なID |
|
207
|
-
| 月初日の西暦日 | | western_date | | String | 0937-02-13 | 計算値 |
|
208
|
-
| 原文頁数 | | page | | Integer | 178 | |
|
209
|
-
| 原文注釈番号 | | number | | Integer | 1 | |
|
210
|
-
| 注釈 | | annotations | | Array\<Zakuro::Result::Operation::MonthAnnotation\> | | |
|
211
|
-
| 注釈内容 | | | description | String | 計算は51乙卯であるが, 日本紀略に甲寅朔とある。<br>正月甲寅朔のユリウス暦日は2月13日となる。(元旦日食 をさけるための変更か) | |
|
212
|
-
| 注釈補記 | | | note | String | - | 原文訂正 |
|
213
|
-
|
214
|
-
### Zakuro::Result::Data::Option::AbstractOption
|
215
|
-
|
216
|
-
#### Zakuro::Result::Data::Option::DroppedDate::Option
|
217
|
-
|
218
|
-
キー: dropped_date
|
219
|
-
|
220
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
221
|
-
| -------------------- | ----------- | ---------- | --------- | ------------------------------------------------------ | -------- | ------------------ |
|
222
|
-
| オプション値有無 | matched | | | True/False | true | |
|
223
|
-
| 演算値 | calculation | | | Zakuro::Result::Data::Option::DroppedDate::Calculation | | |
|
224
|
-
| 没余 | | remainder | | String | 59-34155 | |
|
225
|
-
| 二十四節気 | | solar_term | | Zakuro::Result::Data::Option::DroppedDate::SolarTerm | | |
|
226
|
-
| 二十四節気番号 | | | index | Integer | 6 | |
|
227
|
-
| 二十四節気の大余小余 | | | remainder | String | 49-7203 | |
|
76
|
+
|
77
|
+
[期待値](./doc/expection.md) を参照してください。
|
228
78
|
|
229
79
|
# 元号
|
230
80
|
|
@@ -233,11 +83,33 @@ puts merchant.commit.to_json
|
|
233
83
|
# 運用値
|
234
84
|
|
235
85
|
一部の月では計算値から運用値への書き換えが発生します。
|
86
|
+
|
236
87
|
経緯は [実運用](./doc/operation.md) を参照してください。
|
237
88
|
|
238
89
|
# 暦算
|
239
90
|
|
240
|
-
|
91
|
+
暦算の解説は次の通りです。
|
92
|
+
|
93
|
+
## 暦別
|
94
|
+
|
95
|
+
|暦 |有無|
|
96
|
+
|:----|:----|
|
97
|
+
|[元嘉暦](./doc/version/genka.md)|✓|
|
98
|
+
|[儀鳳暦](./doc/version/gihou.md)|✓|
|
99
|
+
|[大衍暦](./doc/version/daien.md)|✓|
|
100
|
+
|[宣明暦](./doc/version/senmyou.md)|✓|
|
101
|
+
|貞享暦|-|
|
102
|
+
|宝暦暦|-|
|
103
|
+
|寛政暦|-|
|
104
|
+
|天保暦|-|
|
105
|
+
|グレゴリオ暦|-|
|
106
|
+
|
107
|
+
## 項目別
|
108
|
+
|
109
|
+
|項目 |有無|
|
110
|
+
|:----|:----|
|
111
|
+
|[没日](./doc/dropped_date.md)|✓|
|
112
|
+
|滅日|-|
|
241
113
|
|
242
114
|
# 例外
|
243
115
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.2
|
data/doc/condition.md
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
# 条件
|
2
|
+
|
3
|
+
条件(condition)のバリエーションを示します。
|
4
|
+
|
5
|
+
| 項目名 | キー名 | hash内キー名 | データ型 | 備考 |
|
6
|
+
|----------------|---------|--------------|----------|--------------------|
|
7
|
+
| 基準日 | date | | Date | 西暦日 |
|
8
|
+
| | | | String | 和暦日/西暦日 |
|
9
|
+
| 範囲(開始日) | range | start | Date | 西暦日 |
|
10
|
+
| | | | String | 和暦日/西暦日 |
|
11
|
+
| 範囲(終了日) | | last | Date | 西暦日 |
|
12
|
+
| | | | String | 和暦日/西暦日 |
|
13
|
+
| 列 | columns | | Array | 取得したい列の列名 |
|
14
|
+
| オプション | options | | Hash<String, Object> | 取得オプション |
|
15
|
+
|
16
|
+
現時点では `date` と `range` のみ対応中です。
|
17
|
+
|
18
|
+
## オプション
|
19
|
+
|
20
|
+
| 項目名 | キー名 | データ型 | データ | 備考 |
|
21
|
+
|--------|-----------|----------|--------|------------------------|
|
22
|
+
| 暦 | version | String | Genka | 元嘉暦 |
|
23
|
+
| | | | Gihou | 儀鳳暦 |
|
24
|
+
| | | | Daien | 大衍暦 |
|
25
|
+
| | | | Senmyou | 宣明暦 |
|
26
|
+
| | | | Joukyou | 貞享暦 |
|
27
|
+
| | | | Kansei | 寛政暦 |
|
28
|
+
| | | | Tenpou | 天保暦 |
|
29
|
+
| | | | Gregorio | グレゴリオ暦 |
|
30
|
+
| | | | | 指定なし(デフォルト) |
|
31
|
+
| 没日 | dropped_days | TRUE | | 没日あり |
|
32
|
+
| | | FALSE | | 没日なし(デフォルト) |
|
33
|
+
| 四季 | seasons | TRUE | | 四季あり |
|
34
|
+
| | | FALSE | | 四季なし(デフォルト) |
|
35
|
+
|
36
|
+
現時点では次の項目を試験的に対応しております(結果未検証)。
|
37
|
+
* [没日](./dropped_date.md)
|
38
|
+
* [滅日](./vanished_date.md)
|
data/doc/dropped_date.md
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
「日本暦日便覧」に従う
|
8
8
|
|
9
9
|
## 計算
|
10
|
+
### 宣明暦
|
10
11
|
「長慶宣明暦算法」に従う
|
11
12
|
|
12
13
|
下記は該当箇所の引用と、それに対応する計算を示している
|
@@ -91,3 +92,43 @@
|
|
91
92
|
* 大余 + 9
|
92
93
|
* 小余 + 28260
|
93
94
|
* 小余 > 44055 の場合は繰り上げ
|
95
|
+
|
96
|
+
## 大衍暦
|
97
|
+
『歴代天文律暦等志彙編 七』に従う
|
98
|
+
|
99
|
+
### 本文
|
100
|
+
|
101
|
+
```
|
102
|
+
推没日 置有没之氣恆小餘, 以象統乗之, 内秒分, 参而伍之, 以減策實。餘満策餘, 為日。不満, 為没餘。命起也。〔四〕凡恆氣小餘, 不満大衍通法, 如中盈分半法已下, 為有没之氣。
|
103
|
+
```
|
104
|
+
p.2056
|
105
|
+
|
106
|
+
```
|
107
|
+
大衍通法:三千四十。
|
108
|
+
策實:一百十一萬三百四十三。
|
109
|
+
策餘:一萬五千九百四十三。
|
110
|
+
中盈分:一千三百二十八;秒,十四。
|
111
|
+
象統:二十四。
|
112
|
+
```
|
113
|
+
p.2055-2056
|
114
|
+
|
115
|
+
### 定数
|
116
|
+
計算方法は宣明暦と変わらない。定数のみ取りだす
|
117
|
+
|
118
|
+
### 有没の気判定
|
119
|
+
|
120
|
+
`大衍通法` (3040) - ( `中盈分` (1328分14秒) / 2) = 3040分 - 664分7秒 = 2375分17秒
|
121
|
+
|
122
|
+
#### 小余倍率
|
123
|
+
|
124
|
+
記載はないが宣明暦と変わらない
|
125
|
+
|
126
|
+
360
|
127
|
+
|
128
|
+
#### 秒倍率
|
129
|
+
|
130
|
+
360 / `象統` (24) = `参而伍` (3 * 5) = 15
|
131
|
+
|
132
|
+
#### 没余上限
|
133
|
+
|
134
|
+
`策餘` (15943)
|
data/doc/expection.md
ADDED
@@ -0,0 +1,119 @@
|
|
1
|
+
# 期待値
|
2
|
+
|
3
|
+
次の期待値を参照します。
|
4
|
+
|
5
|
+
|対象|文献|
|
6
|
+
|:----|:----|
|
7
|
+
|暦算値|『日本暦日原典〔第四版〕』|
|
8
|
+
|元号|『日本史年表 第5版』|
|
9
|
+
|没日・滅日|『日本暦日便覧』|
|
10
|
+
|
11
|
+
## 種類
|
12
|
+
|
13
|
+
現状は一日検索のみ対応しております。
|
14
|
+
|
15
|
+
| 項目名 | データ型 |
|
16
|
+
|----------|------------------------|
|
17
|
+
| 一日検索 | Zakuro::Result::Single |
|
18
|
+
| 範囲検索 | Zakuro::Result::Range |
|
19
|
+
|
20
|
+
### Zakuro::Result::Single
|
21
|
+
|
22
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
23
|
+
|----------|-----------|---|---|-----------------------------------|--------|---------------------------------------|
|
24
|
+
| 日付情報 | data | | | Zakuro::Result::Data::SingleDay | - | 運用値(計算値は運用情報内を参照のこと)|
|
25
|
+
| 運用情報 | operation | | | Zakuro::Result::Operation | - | - |
|
26
|
+
|
27
|
+
### Zakuro::Result::Range
|
28
|
+
|
29
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
30
|
+
|----------|-----------|---|---|---------------------------------------|--------|---------------------------------------|
|
31
|
+
| 日リスト | list | | | Array\<Zakuro::Result::Data::Single\> | - | 範囲内の日付情報すべて |
|
32
|
+
|
33
|
+
### Zakuro::Result::SingleDay
|
34
|
+
|
35
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
36
|
+
|--------------------------|--------|------------------|--------------|---------------------------------|------------|----------------------------|
|
37
|
+
| 年情報 | year | | | Zakuro::Result::Data::Year | | |
|
38
|
+
| 年号 | | first_gengou | | Zakuro::Result::Data::Gengou | | |
|
39
|
+
| 元号 | | | name | String | 承平 | |
|
40
|
+
| 元号年 | | | number | Integer | 7 | |
|
41
|
+
| 年号(南北朝時代の北朝) | | second_gengou | | Zakuro::Result::Data::Gengou | | |
|
42
|
+
| 元号 | | | name | String | - | 南北朝時代の北朝のみ |
|
43
|
+
| 元号年 | | | number | Integer | - | 南北朝時代の北朝のみ |
|
44
|
+
| 年の干支 | | zodiac_name | | String | 丁酉 | |
|
45
|
+
| 年の日数 | | total_days | | Integer | 354 | |
|
46
|
+
| 月 | month | | | Zakuro::Result::Data::Month | | |
|
47
|
+
| 月番号 | | number | | Integer | 1 | x月 |
|
48
|
+
| 閏月判定 | | leaped | | True/False | false | 閏月(true)/平月(false) |
|
49
|
+
| 月の大小 | | days_name | | String | 大 | 大(30日) / 小(29日) |
|
50
|
+
| 月初日 | | first_day | number | Integer | 1 | x日(1日固定) |
|
51
|
+
| 月初日の干支 | | | zodiac_name | String | 甲寅 | |
|
52
|
+
| 月初日の大余小余 | | | remainder | String | 50-2479 | |
|
53
|
+
| 西暦日 | | | western_date | String | 0937-02-13 | |
|
54
|
+
| 節気 | | odd_solar_terms | | Zakuro::Result::Data::SolarTerm | | |
|
55
|
+
| 二十四節気番号 | | | index | Integer | 5 | 番号(冬至0始まり) |
|
56
|
+
| 二十四節気の大余小余 | | | remainder | String | 7-8293 | 大余小余 |
|
57
|
+
| 中気 | | even_solar_terms | | Zakuro::Result::Data::SolarTerm | | |
|
58
|
+
| 二十四節気番号 | | | index | Integer | 4 | 番号(冬至0始まり) |
|
59
|
+
| 二十四節気の大余小余 | | | remainder | String | 52-6457 | 大余小余 |
|
60
|
+
| 日 | day | | | Zakuro::Result::Data::Day | | |
|
61
|
+
| 日番号 | | number | | Integer | 2 | x日 |
|
62
|
+
| 日の干支 | | zodiac_name | | String | 乙卯 | 日の干支 |
|
63
|
+
| 日の大余小余 | | remainder | | String | 51-2479 | 大余小余 |
|
64
|
+
| 西暦日 | | western_date | | String | 0937-02-14 | 西暦日 |
|
65
|
+
| オプション | options | | | Hash<String, Zakuro::Result::Data::Option::AbstractOption>| | オプション値 |
|
66
|
+
|
67
|
+
### Zakuro::Result::Operation
|
68
|
+
|
69
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
70
|
+
|--------------|----------|------------|-------------|--------------------------------------------|---------|----------------------|
|
71
|
+
| 運用有無 | operated | | | True/False | true | |
|
72
|
+
| 月別履歴情報 | month | | | Zakuro::Result::Operation::Month | | |
|
73
|
+
| 計算値 | original | | | Zakuro::Result::Data::SingleDay | | 運用値差替前の計算値 |
|
74
|
+
|
75
|
+
### Zakuro::Result::Operation::Month
|
76
|
+
|
77
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
78
|
+
|--------------------------|----------|------------|----------|--------------------------------------------|--------------|---------------------------------------------|
|
79
|
+
| 月別履歴情報(当月) | current | | | Zakuro::Result::Operation::Month::History | |該当月の履歴情報 |
|
80
|
+
| 月別履歴情報(親) | parent | | | Zakuro::Result::Operation::Month::History | |前後の月により副次的に影響を受けた時の履歴情報|
|
81
|
+
|
82
|
+
|
83
|
+
### Zakuro::Result::Operation::Month::History
|
84
|
+
|
85
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
86
|
+
|-------------------|----------|--------------|-------------|----------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|----------------------|
|
87
|
+
| ID | | id | | String | 178-1-1 | zakuro内の一意なID |
|
88
|
+
| 月初日の西暦日 | | western_date | | String | 0937-02-13 | 計算値 |
|
89
|
+
| 原文頁数 | | page | | Integer | 178 | |
|
90
|
+
| 原文注釈番号 | | number | | Integer | 1 | |
|
91
|
+
| 注釈 | | annotations | | Array\<Zakuro::Result::Operation::MonthAnnotation\> | | |
|
92
|
+
| 注釈内容 | | | description | String | 計算は51乙卯であるが, 日本紀略に甲寅朔とある。<br>正月甲寅朔のユリウス暦日は2月13日となる。(元旦日食 をさけるための変更か) | |
|
93
|
+
| 注釈補記 | | | note | String | - | 原文訂正 |
|
94
|
+
|
95
|
+
### Zakuro::Result::Data::Option::AbstractOption
|
96
|
+
|
97
|
+
#### Zakuro::Result::Data::Option::DroppedDate::Option
|
98
|
+
|
99
|
+
キー: dropped_date
|
100
|
+
|
101
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
102
|
+
| -------------------- | ----------- | ---------- | --------- | ------------------------------------------------------ | -------- | ------------------ |
|
103
|
+
| オプション値有無 | matched | | | True/False | true | |
|
104
|
+
| 演算値 | calculation | | | Zakuro::Result::Data::Option::DroppedDate::Calculation | | |
|
105
|
+
| 没余 | | remainder | | String | 59-34155 | |
|
106
|
+
| 二十四節気 | | solar_term | | Zakuro::Result::Data::Option::DroppedDate::SolarTerm | | |
|
107
|
+
| 二十四節気番号 | | | index | Integer | 6 | |
|
108
|
+
| 二十四節気の大余小余 | | | remainder | String | 49-7203 | |
|
109
|
+
|
110
|
+
#### Zakuro::Result::Data::Option::VanishedDate::Option
|
111
|
+
|
112
|
+
キー: vanished_date
|
113
|
+
|
114
|
+
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
115
|
+
| -------------------- | ----------- | ---------- | --------- | ------------------------------------------------------ | -------- | ------------------ |
|
116
|
+
| オプション値有無 | matched | | | True/False | true | |
|
117
|
+
| 演算値 | calculation | | | Zakuro::Result::Data::Option::VanishedDate::Calculation | | |
|
118
|
+
| 滅余 | | remainder | | String | 33-2666 | |
|
119
|
+
| 経朔 | | average_remainder | | String | 5-3769 | |
|
data/doc/operation/csv/month.csv
CHANGED
@@ -364,8 +364,8 @@
|
|
364
364
|
,228-1-1,-,-,228,1,1089-2-14,寛治 3年 1 大 壬申 9-6402,"計算では9癸酉であるが, 四大を避けるため壬申朔となった。正月壬申朔のユリウス暦日は2月13日。(大日本史料第3編の1; 中右記・扶桑略記・後二条師通記)。",-,true,四大回避,-,-,大,大,-,-,-,-,-,-,癸酉,壬申,1089-2-14,1089-2-13,9,8,-1,-1,-,-,-
|
365
365
|
,230-1-a,-,230-1-1,230,-,1095-1-9,嘉保 1年 12 小 戊辰 4-3361,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
366
366
|
,230-1-1,-,-,230,1,1095-2-8,嘉保 2年 1 大 丁酉 34-7200,"計算では34戊戌であるが, 中右記により丁酉朔, 正月丁酉朔のユリウス暦日は2月7日。これは嘉保元年の年間日数が385日になるのを避けるための変更である。",-,true,年日数,-,-,小,大,-,-,-,-,-,-,戊戌,丁酉,1095-2-8,1095-2-7,34,33,-1,-1,-,-,-
|
367
|
-
,242-1-a,-,242-1-1,242,-,1129-8-17,大治 4年 閏7 小 丁未 43-1179,-,-,true
|
368
|
-
,242-1-1,-,-,242,1,1129-9-16,大治 4年 8 大 丙子 13-6547,"計算は13丁丑であるが中右記により丙子, 8月丙子朔のユリウス暦日は9月15日となる。これは皇和通暦で中根元圭が「章首の後, 閏法もし8月を得ればまた必ず大小を消息してこれを7月に退く」と書いてあるように, このあとも何回かこの理由で干支が変更され, 閏が8月から7月に移された。これを退閏という。",-,true
|
367
|
+
,242-1-a,-,242-1-1,242,-,1129-8-17,大治 4年 閏7 小 丁未 43-1179,-,-,true,次月大小,8月,閏7月,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
368
|
+
,242-1-1,-,-,242,1,1129-9-16,大治 4年 8 大 丙子 13-6547,"計算は13丁丑であるが中右記により丙子, 8月丙子朔のユリウス暦日は9月15日となる。これは皇和通暦で中根元圭が「章首の後, 閏法もし8月を得ればまた必ず大小を消息してこれを7月に退く」と書いてあるように, このあとも何回かこの理由で干支が変更され, 閏が8月から7月に移された。これを退閏という。",-,true,退閏,閏8月,8月,大,大,-,-,-,-,-,-,丁丑,丙子,1129-9-16,1129-9-15,13,12,-1,-1,-,-,-
|
369
369
|
,245-1-a,-,245-1-1,245,-,1138-1-13,保延 3年 12 小 戊午 54-2825,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
370
370
|
,245-1-1,-,-,245,1,1138-2-12,保延 4年 1 大 丁亥 24-6432,"計算では24戊子であるが中右記により丁亥, 正月丁亥朔のユリウス暦日は2月11日となる。保延3年の年間日数の385日になるのを避けるためである。",-,true,年日数,-,-,小,大,-,-,-,-,-,-,戊子,丁亥,1138-2-12,1138-2-11,24,23,-1,-1,-,-,-
|
371
371
|
,251-1-a,-,251-1-1,251,-,1156-11-15,保元 1年 10 小 己亥 35-1816,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
@@ -469,8 +469,8 @@
|
|
469
469
|
,346-0-1,-,-,346,-,1441-12-14/1442-1-13,-,計算では朔旦冬至となる。これを臨時朔旦冬至として避けるために甲子を癸亥にして冬至を11月2日にしたもの。12月の変更は計算通り甲午にしておくと11月が31日になってしまうから。,-,false,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
470
470
|
,348-1-a,-,348-1-1,348,-,1449-10-17,宝徳 1年 10 小 戊申 44-2244,-,-,true,次月大小,-,-,大,小,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
471
471
|
,348-1-1,348-0-1,-,348,1,1449-11-16,宝徳 1年 閏10 小 丁丑 14-22,"計算では14戊寅, 康富記により丁丑, 閏10月丁丑朔のユリウス暦日は11月15日となる。",-,true,朔旦冬至,11月,閏10月,小,小,0,-,-,-,1449-12-15,-,戊寅,丁丑,1449-11-16,1449-11-15,14,13,-1,-1,-,-,-
|
472
|
-
,348-2-1,348-0-1,-,348,2,1449-12-15,宝徳 1年 11 大 丙午 43-5895,"計算では43丁未, 康富記により丙午, 11月丙午朔のユリウス暦日は12月14日となる。",-,true
|
473
|
-
,348-3-1,348-0-1,-,348,3,1450-1-14,宝徳 1年 12 大 丙子 13-2995,"計算では13丁丑, 康富記により丙子, 12月丙子朔のユリウス暦日は1月13日となる。",-,true
|
472
|
+
,348-2-1,348-0-1,-,348,2,1449-12-15,宝徳 1年 11 大 丙午 43-5895,"計算では43丁未, 康富記により丙午, 11月丙午朔のユリウス暦日は12月14日となる。",-,true,朔旦冬至,12月,11月,大,大,-,0,-,-,-,1449-11-16,丁未,丙午,1449-12-15,1449-12-14,43,42,-1,-1,-,-,-
|
473
|
+
,348-3-1,348-0-1,-,348,3,1450-1-14,宝徳 1年 12 大 丙子 13-2995,"計算では13丁丑, 康富記により丙子, 12月丙子朔のユリウス暦日は1月13日となる。",-,true,朔旦冬至,閏12月,12月,大,大,-,-,-,-,-,-,丁丑,丙子,1450-1-14,1450-1-13,13,12,-1,-1,-,-,-
|
474
474
|
,348-0-1,-,-,348,-,1449-11-16/1450-2-13,-,"計算では冬至が11月晦日になるのを, 強いて朔旦冬至にするため計算の12月丁未朔を11月丙午朔に変え閏を10月に移動させた。閏10月朔を計算通り戊寅朔にしておくと閏10月は28日しかなくなってしまう。11月朔丙午, 翌宝徳2年2月丙子とからその間の12月正月の干支は丙子, 丙子に変えないと31日の月ができてしまう。",-,false,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
475
475
|
,349-1-1,348-0-1,-,349,1,1450-2-13,宝徳 2年 1 大 丙午 43-7539,"計算では13丁未, 康富記により丙午, 正月丙午朔のユリウス暦日は2月12日となる。(前項の注記参照)",日本暦日原典の誤り。「丁未」ではなく「丁丑」,true,朔旦冬至,-,-,小,大,-,-,-,-,-,-,丁未,丙午,1450-2-13,1450-2-12,43,42,-1,-1,-,-,-
|
476
476
|
,355-1-a,-,355-1-1,355,-,1468-10-16,応仁 2年 10 大 丁亥 23-4972,-,変更なし,false,次月大小,-,-,大,大,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-,-
|
Binary file
|