zakuro 0.8.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +38 -160
- data/VERSION +1 -1
- data/doc/condition.md +36 -0
- data/doc/dropped_date.md +41 -0
- data/doc/expection.md +108 -0
- data/doc/operation/csv/month.csv +100 -79
- 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/monthly/first_day.rb +9 -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 +59 -4
- data/lib/zakuro/context/option.rb +17 -0
- data/lib/zakuro/context/version_class_resolver.rb +17 -1
- data/lib/zakuro/operation/yaml/month.yaml +955 -281
- 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 +3 -0
- 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 +24 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 64217957bc4e6be2fa7fe5e0414a3cfc4d64a424bd0a3f8d407ad911f1a4418f
|
4
|
+
data.tar.gz: 5042fd68cdb7cd76cf5b62de725db105912f14b29cc4849cdaaa1cff3110424a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4d7637971c69f269591897e645df48077eeb4504cb1c7766c0414ae3c82f190a832051dfd139589a2c04c4ba1541bbb4e89d20a755bb0a0b513c23e1f4ae633
|
7
|
+
data.tar.gz: 198cd920eb173788dc1f02e511a40f84a86d2aea10e509e2fe16bb4872244d405201ac4794e10f09232e84b01f7354208b3400304506f7efb3d6df9b184fadea
|
data/README.md
CHANGED
@@ -12,6 +12,14 @@ zakuro は日本の暦を扱う暦算ライブラリです。
|
|
12
12
|
|
13
13
|
## 導入
|
14
14
|
|
15
|
+
### Ruby
|
16
|
+
|
17
|
+
次の範囲で動作確認しております。
|
18
|
+
|
19
|
+
`2.6.x - 3.0.x`
|
20
|
+
|
21
|
+
### Gem
|
22
|
+
|
15
23
|
[rubygem](https://rubygems.org/gems/zakuro) に登録しております。
|
16
24
|
|
17
25
|
```ruby
|
@@ -50,173 +58,21 @@ Or install it yourself as:
|
|
50
58
|
|1844/02/18|天保暦| |-|
|
51
59
|
|1872/12/09|グレゴリオ暦| |-|
|
52
60
|
|
53
|
-
|
54
|
-
|
55
|
-
```
|
56
|
-
require 'zakuro'
|
57
|
-
|
58
|
-
# 西暦日 -> 和暦日への変換方法を示す
|
59
|
-
|
60
|
-
# ざくろ商人(Zakuro::Merchant)に西暦日を渡し、和暦日を受け取る
|
61
|
-
western_date = Date.new(862, 2, 3)
|
61
|
+
表中A-Cは月の運動の計算手順ごとに分類されます。
|
62
62
|
|
63
|
-
|
64
|
-
merchant = Zakuro::Merchant.new(condition: { date: western_date })
|
65
|
-
puts merchant.commit.to_json
|
66
|
-
# => {"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":{}}}}
|
63
|
+
現在は「長慶宣明暦算法」の計算手順Aのみ対応しております。
|
67
64
|
|
68
|
-
|
69
|
-
|
70
|
-
# 再設定
|
71
|
-
# merchant = Zakuro::Merchant.new
|
72
|
-
merchant.offer(condition: { date: western_date })
|
73
|
-
puts merchant.commit.to_json
|
74
|
-
# => {"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":{}}}}
|
65
|
+
# 使用方法
|
75
66
|
|
76
|
-
|
77
|
-
merchant = Zakuro::Merchant.new(condition: { range: {start: Date.new(862, 2, 3), last: Date.new(862, 2, 4)}})
|
78
|
-
puts merchant.commit.to_json
|
79
|
-
# => {"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":{}}}}]}
|
80
|
-
```
|
67
|
+
[使用方法](./doc/usage.md) を参照してください。
|
81
68
|
|
82
69
|
# 条件
|
83
70
|
|
84
|
-
|
85
|
-
|
86
|
-
| 項目名 | キー名 | hash内キー名 | データ型 | 備考 |
|
87
|
-
|----------------|---------|--------------|----------|--------------------|
|
88
|
-
| 基準日 | date | | Date | 西暦日 |
|
89
|
-
| | | | String | 和暦日/西暦日 |
|
90
|
-
| 範囲(開始日) | range | start | Date | 西暦日 |
|
91
|
-
| | | | String | 和暦日/西暦日 |
|
92
|
-
| 範囲(終了日) | | last | Date | 西暦日 |
|
93
|
-
| | | | String | 和暦日/西暦日 |
|
94
|
-
| 列 | columns | | Array | 取得したい列の列名 |
|
95
|
-
| オプション | options | | Hash<String, Object> | 取得オプション |
|
96
|
-
|
97
|
-
現時点では `date` と `range` のみ対応中です。
|
98
|
-
|
99
|
-
## オプション
|
100
|
-
|
101
|
-
| 項目名 | キー名 | データ型 | データ | 備考 |
|
102
|
-
|--------|-----------|----------|--------|------------------------|
|
103
|
-
| 暦 | version | String | Genka | 元嘉暦 |
|
104
|
-
| | | | Gihou | 儀鳳暦 |
|
105
|
-
| | | | Daien | 大衍暦 |
|
106
|
-
| | | | Senmyou | 宣明暦 |
|
107
|
-
| | | | Joukyou | 貞享暦 |
|
108
|
-
| | | | Kansei | 寛政暦 |
|
109
|
-
| | | | Tenpou | 天保暦 |
|
110
|
-
| | | | Gregorio | グレゴリオ暦 |
|
111
|
-
| | | | | 指定なし(デフォルト) |
|
112
|
-
| 没日 | dropped_days | TRUE | | 没日あり |
|
113
|
-
| | | FALSE | | 没日なし(デフォルト) |
|
114
|
-
| 四季 | seasons | TRUE | | 四季あり |
|
115
|
-
| | | FALSE | | 四季なし(デフォルト) |
|
116
|
-
|
117
|
-
現時点では宣明暦の [没日](./doc/dropped_date.md) のみ試験的に対応しております(結果未検証)。
|
71
|
+
[条件](./doc/condition.md) を参照してください。
|
118
72
|
|
119
73
|
# 期待値
|
120
|
-
|
121
|
-
|
122
|
-
## 種類
|
123
|
-
|
124
|
-
現状は一日検索のみ対応しております。
|
125
|
-
|
126
|
-
| 項目名 | データ型 |
|
127
|
-
|----------|------------------------|
|
128
|
-
| 一日検索 | Zakuro::Result::Single |
|
129
|
-
| 範囲検索 | Zakuro::Result::Range |
|
130
|
-
|
131
|
-
### Zakuro::Result::Single
|
132
|
-
|
133
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
134
|
-
|----------|-----------|---|---|-----------------------------------|--------|---------------------------------------|
|
135
|
-
| 日付情報 | data | | | Zakuro::Result::Data::SingleDay | - | 運用値(計算値は運用情報内を参照のこと)|
|
136
|
-
| 運用情報 | operation | | | Zakuro::Result::Operation | - | - |
|
137
|
-
|
138
|
-
### Zakuro::Result::Range
|
139
|
-
|
140
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
141
|
-
|----------|-----------|---|---|---------------------------------------|--------|---------------------------------------|
|
142
|
-
| 日リスト | list | | | Array\<Zakuro::Result::Data::Single\> | - | 範囲内の日付情報すべて |
|
143
|
-
|
144
|
-
### Zakuro::Result::SingleDay
|
145
|
-
|
146
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
147
|
-
|--------------------------|--------|------------------|--------------|---------------------------------|------------|----------------------------|
|
148
|
-
| 年情報 | year | | | Zakuro::Result::Data::Year | | |
|
149
|
-
| 年号 | | first_gengou | | Zakuro::Result::Data::Gengou | | |
|
150
|
-
| 元号 | | | name | String | 承平 | |
|
151
|
-
| 元号年 | | | number | Integer | 7 | |
|
152
|
-
| 年号(南北朝時代の北朝) | | second_gengou | | Zakuro::Result::Data::Gengou | | |
|
153
|
-
| 元号 | | | name | String | - | 南北朝時代の北朝のみ |
|
154
|
-
| 元号年 | | | number | Integer | - | 南北朝時代の北朝のみ |
|
155
|
-
| 年の干支 | | zodiac_name | | String | 丁酉 | |
|
156
|
-
| 年の日数 | | total_days | | Integer | 354 | |
|
157
|
-
| 月 | month | | | Zakuro::Result::Data::Month | | |
|
158
|
-
| 月番号 | | number | | Integer | 1 | x月 |
|
159
|
-
| 閏月判定 | | leaped | | True/False | false | 閏月(true)/平月(false) |
|
160
|
-
| 月の大小 | | days_name | | String | 大 | 大(30日) / 小(29日) |
|
161
|
-
| 月初日 | | first_day | number | Integer | 1 | x日(1日固定) |
|
162
|
-
| 月初日の干支 | | | zodiac_name | String | 甲寅 | |
|
163
|
-
| 月初日の大余小余 | | | remainder | String | 50-2479 | |
|
164
|
-
| 西暦日 | | | western_date | String | 0937-02-13 | |
|
165
|
-
| 節気 | | odd_solar_terms | | Zakuro::Result::Data::SolarTerm | | |
|
166
|
-
| 二十四節気番号 | | | index | Integer | 5 | 番号(冬至0始まり) |
|
167
|
-
| 二十四節気の大余小余 | | | remainder | String | 7-8293 | 大余小余 |
|
168
|
-
| 中気 | | even_solar_terms | | Zakuro::Result::Data::SolarTerm | | |
|
169
|
-
| 二十四節気番号 | | | index | Integer | 4 | 番号(冬至0始まり) |
|
170
|
-
| 二十四節気の大余小余 | | | remainder | String | 52-6457 | 大余小余 |
|
171
|
-
| 日 | day | | | Zakuro::Result::Data::Day | | |
|
172
|
-
| 日番号 | | number | | Integer | 2 | x日 |
|
173
|
-
| 日の干支 | | zodiac_name | | String | 乙卯 | 日の干支 |
|
174
|
-
| 日の大余小余 | | remainder | | String | 51-2479 | 大余小余 |
|
175
|
-
| 西暦日 | | western_date | | String | 0937-02-14 | 西暦日 |
|
176
|
-
| オプション | options | | | Hash<String, Zakuro::Result::Data::Option::AbstractOption>| | オプション値 |
|
177
|
-
|
178
|
-
### Zakuro::Result::Operation
|
179
|
-
|
180
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
181
|
-
|--------------|----------|------------|-------------|--------------------------------------------|---------|----------------------|
|
182
|
-
| 運用有無 | operated | | | True/False | true | |
|
183
|
-
| 月別履歴情報 | month | | | Zakuro::Result::Operation::Month | | |
|
184
|
-
| 計算値 | original | | | Zakuro::Result::Data::SingleDay | | 運用値差替前の計算値 |
|
185
|
-
|
186
|
-
### Zakuro::Result::Operation::Month
|
187
|
-
|
188
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
189
|
-
|--------------------------|----------|------------|----------|--------------------------------------------|--------------|---------------------------------------------|
|
190
|
-
| 月別履歴情報(当月) | current | | | Zakuro::Result::Operation::Month::History | |該当月の履歴情報 |
|
191
|
-
| 月別履歴情報(親) | parent | | | Zakuro::Result::Operation::Month::History | |前後の月により副次的に影響を受けた時の履歴情報|
|
192
|
-
|
193
|
-
|
194
|
-
### Zakuro::Result::Operation::Month::History
|
195
|
-
|
196
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
197
|
-
|-------------------|----------|--------------|-------------|----------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|----------------------|
|
198
|
-
| ID | | id | | String | 178-1-1 | zakuro内の一意なID |
|
199
|
-
| 月初日の西暦日 | | western_date | | String | 0937-02-13 | 計算値 |
|
200
|
-
| 原文頁数 | | page | | Integer | 178 | |
|
201
|
-
| 原文注釈番号 | | number | | Integer | 1 | |
|
202
|
-
| 注釈 | | annotations | | Array\<Zakuro::Result::Operation::MonthAnnotation\> | | |
|
203
|
-
| 注釈内容 | | | description | String | 計算は51乙卯であるが, 日本紀略に甲寅朔とある。<br>正月甲寅朔のユリウス暦日は2月13日となる。(元旦日食 をさけるための変更か) | |
|
204
|
-
| 注釈補記 | | | note | String | - | 原文訂正 |
|
205
|
-
|
206
|
-
### Zakuro::Result::Data::Option::AbstractOption
|
207
|
-
|
208
|
-
#### Zakuro::Result::Data::Option::DroppedDate::Option
|
209
|
-
|
210
|
-
キー: dropped_date
|
211
|
-
|
212
|
-
| 項目名 | キー名 | - | - | データ型 | 参考値 | 備考 |
|
213
|
-
| -------------------- | ----------- | ---------- | --------- | ------------------------------------------------------ | -------- | ------------------ |
|
214
|
-
| オプション値有無 | matched | | | True/False | true | |
|
215
|
-
| 演算値 | calculation | | | Zakuro::Result::Data::Option::DroppedDate::Calculation | | |
|
216
|
-
| 没余 | | remainder | | String | 59-34155 | |
|
217
|
-
| 二十四節気 | | solar_term | | Zakuro::Result::Data::Option::DroppedDate::SolarTerm | | |
|
218
|
-
| 二十四節気番号 | | | index | Integer | 6 | |
|
219
|
-
| 二十四節気の大余小余 | | | remainder | String | 49-7203 | |
|
74
|
+
|
75
|
+
[期待値](./doc/expection.md) を参照してください。
|
220
76
|
|
221
77
|
# 元号
|
222
78
|
|
@@ -225,11 +81,33 @@ puts merchant.commit.to_json
|
|
225
81
|
# 運用値
|
226
82
|
|
227
83
|
一部の月では計算値から運用値への書き換えが発生します。
|
84
|
+
|
228
85
|
経緯は [実運用](./doc/operation.md) を参照してください。
|
229
86
|
|
230
87
|
# 暦算
|
231
88
|
|
232
|
-
|
89
|
+
暦算の解説は次の通りです。
|
90
|
+
|
91
|
+
## 暦別
|
92
|
+
|
93
|
+
|暦 |有無|
|
94
|
+
|:----|:----|
|
95
|
+
|[元嘉暦](./doc/version/genka.md)|✓|
|
96
|
+
|[儀鳳暦](./doc/version/gihou.md)|✓|
|
97
|
+
|[大衍暦](./doc/version/daien.md)|✓|
|
98
|
+
|[宣明暦](./doc/version/senmyou.md)|✓|
|
99
|
+
|貞享暦|-|
|
100
|
+
|宝暦暦|-|
|
101
|
+
|寛政暦|-|
|
102
|
+
|天保暦|-|
|
103
|
+
|グレゴリオ暦|-|
|
104
|
+
|
105
|
+
## 項目別
|
106
|
+
|
107
|
+
|項目 |有無|
|
108
|
+
|:----|:----|
|
109
|
+
|[没日](./doc/dropped_date.md)|✓|
|
110
|
+
|滅日|-|
|
233
111
|
|
234
112
|
# 例外
|
235
113
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.9.1
|
data/doc/condition.md
ADDED
@@ -0,0 +1,36 @@
|
|
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
|
+
現時点では宣明暦の [没日](./doc/dropped_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,108 @@
|
|
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 | |
|