zakuro 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|