wareki 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +15 -0
- data/.rspec +2 -0
- data/LICENSE +24 -0
- data/README.rdoc +103 -0
- data/Rakefile +6 -0
- data/lib/wareki/calendar_def.rb +1433 -0
- data/lib/wareki/common.rb +41 -0
- data/lib/wareki/core_ext.rb +33 -0
- data/lib/wareki/date.rb +206 -0
- data/lib/wareki/era_def.rb +502 -0
- data/lib/wareki/utils.rb +173 -0
- data/lib/wareki/version.rb +3 -0
- data/lib/wareki.rb +2 -0
- data/wareki.gemspec +25 -0
- metadata +101 -0
@@ -0,0 +1,502 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
module Wareki
|
3
|
+
Era = Struct.new(:name, :year, :start, :end)
|
4
|
+
ERA_DEFS = [
|
5
|
+
Era.new("大化", 645, 1956842, 1958551),
|
6
|
+
Era.new("白雉", 650, 1958551, 1960259),
|
7
|
+
Era.new("朱鳥", 686, 1971845, 1971893),
|
8
|
+
Era.new("大宝", 701, 1977221, 1978361),
|
9
|
+
Era.new("慶雲", 704, 1978361, 1979692),
|
10
|
+
Era.new("和銅", 708, 1979692, 1982487),
|
11
|
+
Era.new("霊亀", 715, 1982487, 1983300),
|
12
|
+
Era.new("養老", 717, 1983300, 1985561),
|
13
|
+
Era.new("神亀", 724, 1985561, 1987570),
|
14
|
+
Era.new("天平", 729, 1987570, 1994754),
|
15
|
+
Era.new("天平感宝", 749, 1994754, 1994861),
|
16
|
+
Era.new("天平勝宝", 749, 1994861, 1997801),
|
17
|
+
Era.new("天平宝字", 757, 1997801, 2000506),
|
18
|
+
Era.new("天平神護", 765, 2000506, 2001460),
|
19
|
+
Era.new("神護景雲", 767, 2001460, 2002596),
|
20
|
+
Era.new("宝亀", 770, 2002596, 2006348),
|
21
|
+
Era.new("天応", 781, 2006348, 2006956),
|
22
|
+
Era.new("延暦", 782, 2006956, 2015608),
|
23
|
+
Era.new("大同", 806, 2015608, 2017203),
|
24
|
+
Era.new("弘仁", 810, 2017203, 2022062),
|
25
|
+
Era.new("天長", 824, 2022062, 2025721),
|
26
|
+
Era.new("承和", 834, 2025721, 2030987),
|
27
|
+
Era.new("嘉祥", 848, 2030987, 2032037),
|
28
|
+
Era.new("仁寿", 851, 2032037, 2033338),
|
29
|
+
Era.new("斉衡", 854, 2033338, 2034156),
|
30
|
+
Era.new("天安", 857, 2034156, 2034947),
|
31
|
+
Era.new("貞観", 859, 2034947, 2041534),
|
32
|
+
Era.new("元慶", 877, 2041534, 2044374),
|
33
|
+
Era.new("仁和", 885, 2044374, 2045915),
|
34
|
+
Era.new("寛平", 889, 2045915, 2049192),
|
35
|
+
Era.new("昌泰", 898, 2049192, 2050391),
|
36
|
+
Era.new("延喜", 901, 2050391, 2058332),
|
37
|
+
Era.new("延長", 923, 2058332, 2061241),
|
38
|
+
Era.new("承平", 931, 2061241, 2063835),
|
39
|
+
Era.new("天慶", 938, 2063835, 2067084),
|
40
|
+
Era.new("天暦", 947, 2067084, 2070927),
|
41
|
+
Era.new("天徳", 957, 2070927, 2072127),
|
42
|
+
Era.new("応和", 961, 2072127, 2073390),
|
43
|
+
Era.new("康保", 964, 2073390, 2074871),
|
44
|
+
Era.new("安和", 968, 2074871, 2075473),
|
45
|
+
Era.new("天禄", 970, 2075473, 2076827),
|
46
|
+
Era.new("天延", 973, 2076827, 2077765),
|
47
|
+
Era.new("貞元", 976, 2077765, 2078637),
|
48
|
+
Era.new("天元", 978, 2078637, 2080247),
|
49
|
+
Era.new("永観", 983, 2080247, 2080968),
|
50
|
+
Era.new("寛和", 985, 2080968, 2081684),
|
51
|
+
Era.new("永延", 987, 2081684, 2082543),
|
52
|
+
Era.new("永祚", 989, 2082543, 2082985),
|
53
|
+
Era.new("正暦", 990, 2082985, 2084565),
|
54
|
+
Era.new("長徳", 995, 2084565, 2085974),
|
55
|
+
Era.new("長保", 999, 2085974, 2087989),
|
56
|
+
Era.new("寛弘", 1004, 2087989, 2091095),
|
57
|
+
Era.new("長和", 1012, 2091095, 2092658),
|
58
|
+
Era.new("寛仁", 1017, 2092658, 2094054),
|
59
|
+
Era.new("治安", 1021, 2094054, 2095305),
|
60
|
+
Era.new("万寿", 1024, 2095305, 2096765),
|
61
|
+
Era.new("長元", 1028, 2096765, 2099951),
|
62
|
+
Era.new("長暦", 1037, 2099951, 2101268),
|
63
|
+
Era.new("長久", 1040, 2101268, 2102729),
|
64
|
+
Era.new("寛徳", 1044, 2102729, 2103251),
|
65
|
+
Era.new("永承", 1046, 2103251, 2105699),
|
66
|
+
Era.new("天喜", 1053, 2105699, 2107754),
|
67
|
+
Era.new("康平", 1058, 2107754, 2110296),
|
68
|
+
Era.new("治暦", 1065, 2110296, 2111636),
|
69
|
+
Era.new("延久", 1069, 2111636, 2113595),
|
70
|
+
Era.new("承保", 1074, 2113595, 2114771),
|
71
|
+
Era.new("承暦", 1077, 2114771, 2115974),
|
72
|
+
Era.new("永保", 1081, 2115974, 2117063),
|
73
|
+
Era.new("応徳", 1084, 2117063, 2118215),
|
74
|
+
Era.new("寛治", 1087, 2118215, 2121029),
|
75
|
+
Era.new("嘉保", 1094, 2121029, 2121740),
|
76
|
+
Era.new("永長", 1096, 2121740, 2122098),
|
77
|
+
Era.new("承徳", 1097, 2122098, 2122725),
|
78
|
+
Era.new("康和", 1099, 2122725, 2124361),
|
79
|
+
Era.new("長治", 1104, 2124361, 2125157),
|
80
|
+
Era.new("嘉承", 1106, 2125157, 2126007),
|
81
|
+
Era.new("天仁", 1108, 2126007, 2126697),
|
82
|
+
Era.new("天永", 1110, 2126697, 2127818),
|
83
|
+
Era.new("永久", 1113, 2127818, 2129522),
|
84
|
+
Era.new("元永", 1118, 2129522, 2130267),
|
85
|
+
Era.new("保安", 1120, 2130267, 2131737),
|
86
|
+
Era.new("天治", 1124, 2131737, 2132375),
|
87
|
+
Era.new("大治", 1126, 2132375, 2134214),
|
88
|
+
Era.new("天承", 1131, 2134214, 2134785),
|
89
|
+
Era.new("長承", 1132, 2134785, 2135777),
|
90
|
+
Era.new("保延", 1135, 2135777, 2138033),
|
91
|
+
Era.new("永治", 1141, 2138033, 2138318),
|
92
|
+
Era.new("康治", 1142, 2138318, 2138991),
|
93
|
+
Era.new("天養", 1144, 2138991, 2139493),
|
94
|
+
Era.new("久安", 1145, 2139493, 2141505),
|
95
|
+
Era.new("仁平", 1151, 2141505, 2142894),
|
96
|
+
Era.new("久寿", 1154, 2142894, 2143425),
|
97
|
+
Era.new("保元", 1156, 2143425, 2144511),
|
98
|
+
Era.new("平治", 1159, 2144511, 2144796),
|
99
|
+
Era.new("永暦", 1160, 2144796, 2145380),
|
100
|
+
Era.new("応保", 1161, 2145380, 2145967),
|
101
|
+
Era.new("長寛", 1163, 2145967, 2146769),
|
102
|
+
Era.new("永万", 1165, 2146769, 2147205),
|
103
|
+
Era.new("仁安", 1166, 2147205, 2148161),
|
104
|
+
Era.new("嘉応", 1169, 2148161, 2148912),
|
105
|
+
Era.new("承安", 1171, 2148912, 2150454),
|
106
|
+
Era.new("安元", 1175, 2150454, 2151198),
|
107
|
+
Era.new("治承", 1177, 2151198, 2152655),
|
108
|
+
Era.new("養和", 1181, 2152655, 2152963),
|
109
|
+
Era.new("寿永", 1182, 2152963, 2153661),
|
110
|
+
Era.new("元暦", 1184, 2153661, 2154131),
|
111
|
+
Era.new("文治", 1185, 2154131, 2155841),
|
112
|
+
Era.new("建久", 1190, 2155841, 2159135),
|
113
|
+
Era.new("正治", 1199, 2159135, 2159801),
|
114
|
+
Era.new("建仁", 1201, 2159801, 2160901),
|
115
|
+
Era.new("元久", 1204, 2160901, 2161705),
|
116
|
+
Era.new("建永", 1206, 2161705, 2162234),
|
117
|
+
Era.new("承元", 1207, 2162234, 2163488),
|
118
|
+
Era.new("建暦", 1211, 2163488, 2164489),
|
119
|
+
Era.new("建保", 1213, 2164489, 2166444),
|
120
|
+
Era.new("承久", 1219, 2166444, 2167538),
|
121
|
+
Era.new("貞応", 1222, 2167538, 2168489),
|
122
|
+
Era.new("元仁", 1224, 2168489, 2168637),
|
123
|
+
Era.new("嘉禄", 1225, 2168637, 2169602),
|
124
|
+
Era.new("安貞", 1227, 2169602, 2170040),
|
125
|
+
Era.new("寛喜", 1229, 2170040, 2171159),
|
126
|
+
Era.new("貞永", 1232, 2171159, 2171556),
|
127
|
+
Era.new("天福", 1233, 2171556, 2172107),
|
128
|
+
Era.new("文暦", 1234, 2172107, 2172446),
|
129
|
+
Era.new("嘉禎", 1235, 2172446, 2173601),
|
130
|
+
Era.new("暦仁", 1238, 2173601, 2173674),
|
131
|
+
Era.new("延応", 1239, 2173674, 2174185),
|
132
|
+
Era.new("仁治", 1240, 2174185, 2175140),
|
133
|
+
Era.new("寛元", 1243, 2175140, 2176619),
|
134
|
+
Era.new("宝治", 1247, 2176619, 2177377),
|
135
|
+
Era.new("建長", 1249, 2177377, 2180109),
|
136
|
+
Era.new("康元", 1256, 2180109, 2180267),
|
137
|
+
Era.new("正嘉", 1257, 2180267, 2181017),
|
138
|
+
Era.new("正元", 1259, 2181017, 2181417),
|
139
|
+
Era.new("文応", 1260, 2181417, 2181719),
|
140
|
+
Era.new("弘長", 1261, 2181719, 2182820),
|
141
|
+
Era.new("文永", 1264, 2182820, 2186893),
|
142
|
+
Era.new("建治", 1275, 2186893, 2187929),
|
143
|
+
Era.new("弘安", 1278, 2187929, 2191649),
|
144
|
+
Era.new("正応", 1288, 2191649, 2193575),
|
145
|
+
Era.new("永仁", 1293, 2193575, 2195662),
|
146
|
+
Era.new("正安", 1299, 2195662, 2196957),
|
147
|
+
Era.new("乾元", 1302, 2196957, 2197237),
|
148
|
+
Era.new("嘉元", 1303, 2197237, 2198457),
|
149
|
+
Era.new("徳治", 1306, 2198457, 2199131),
|
150
|
+
Era.new("延慶", 1308, 2199131, 2200037),
|
151
|
+
Era.new("応長", 1311, 2200037, 2200383),
|
152
|
+
Era.new("正和", 1312, 2200383, 2202167),
|
153
|
+
Era.new("文保", 1317, 2202167, 2202960),
|
154
|
+
Era.new("元応", 1319, 2202960, 2203634),
|
155
|
+
Era.new("元亨", 1321, 2203634, 2205008),
|
156
|
+
Era.new("正中", 1324, 2205008, 2205527),
|
157
|
+
Era.new("嘉暦", 1326, 2205527, 2206740),
|
158
|
+
Era.new("元徳", 1329, 2206740, 2207459),
|
159
|
+
Era.new("元弘", 1331, 2207459, 2208365),
|
160
|
+
Era.new("正慶", 1332, 2207714, 2208124),
|
161
|
+
Era.new("建武", 1334, 2208365, 2209133),
|
162
|
+
Era.new("延元", 1336, 2209133, 2210638),
|
163
|
+
Era.new("興国", 1340, 2210638, 2213069),
|
164
|
+
Era.new("正平", 1346, 2213069, 2221678),
|
165
|
+
Era.new("建徳", 1370, 2221678, 2222302),
|
166
|
+
Era.new("文中", 1372, 2222302, 2223453),
|
167
|
+
Era.new("天授", 1375, 2223453, 2225533),
|
168
|
+
Era.new("弘和", 1381, 2225533, 2226702),
|
169
|
+
Era.new("元中", 1384, 2226702, 2229809),
|
170
|
+
Era.new("暦応", 1338, 2210046, 2211375),
|
171
|
+
Era.new("康永", 1342, 2211375, 2212638),
|
172
|
+
Era.new("貞和", 1345, 2212638, 2214239),
|
173
|
+
Era.new("観応", 1350, 2214239, 2215184),
|
174
|
+
Era.new("文和", 1352, 2215184, 2216456),
|
175
|
+
Era.new("延文", 1356, 2216456, 2218287),
|
176
|
+
Era.new("康安", 1361, 2218287, 2218812),
|
177
|
+
Era.new("貞治", 1362, 2218812, 2220786),
|
178
|
+
Era.new("応安", 1368, 2220786, 2223364),
|
179
|
+
Era.new("永和", 1375, 2223364, 2224836),
|
180
|
+
Era.new("康暦", 1379, 2224836, 2225547),
|
181
|
+
Era.new("永徳", 1381, 2225547, 2226642),
|
182
|
+
Era.new("至徳", 1384, 2226642, 2227937),
|
183
|
+
Era.new("嘉慶", 1387, 2227937, 2228456),
|
184
|
+
Era.new("康応", 1389, 2228456, 2228857),
|
185
|
+
Era.new("明徳", 1390, 2228857, 2230430),
|
186
|
+
Era.new("応永", 1394, 2230430, 2242796),
|
187
|
+
Era.new("正長", 1428, 2242796, 2243276),
|
188
|
+
Era.new("永享", 1429, 2243276, 2247452),
|
189
|
+
Era.new("嘉吉", 1441, 2247452, 2248532),
|
190
|
+
Era.new("文安", 1444, 2248532, 2250533),
|
191
|
+
Era.new("宝徳", 1449, 2250533, 2251623),
|
192
|
+
Era.new("享徳", 1452, 2251623, 2252745),
|
193
|
+
Era.new("康正", 1455, 2252745, 2253516),
|
194
|
+
Era.new("長禄", 1457, 2253516, 2254720),
|
195
|
+
Era.new("寛正", 1460, 2254720, 2256587),
|
196
|
+
Era.new("文正", 1466, 2256587, 2256978),
|
197
|
+
Era.new("応仁", 1467, 2256978, 2257769),
|
198
|
+
Era.new("文明", 1469, 2257769, 2264405),
|
199
|
+
Era.new("長享", 1487, 2264405, 2265174),
|
200
|
+
Era.new("延徳", 1489, 2265174, 2266235),
|
201
|
+
Era.new("明応", 1492, 2266235, 2269375),
|
202
|
+
Era.new("文亀", 1501, 2269375, 2270469),
|
203
|
+
Era.new("永正", 1504, 2270469, 2276869),
|
204
|
+
Era.new("大永", 1521, 2276869, 2279406),
|
205
|
+
Era.new("享禄", 1528, 2279406, 2280862),
|
206
|
+
Era.new("天文", 1532, 2280862, 2289332),
|
207
|
+
Era.new("弘治", 1555, 2289332, 2290194),
|
208
|
+
Era.new("永禄", 1558, 2290194, 2294647),
|
209
|
+
Era.new("元亀", 1570, 2294647, 2295833),
|
210
|
+
Era.new("天正", 1573, 2295833, 2302901),
|
211
|
+
Era.new("文禄", 1592, 2302901, 2304337),
|
212
|
+
Era.new("慶長", 1596, 2304337, 2311174),
|
213
|
+
Era.new("元和", 1615, 2311174, 2314321),
|
214
|
+
Era.new("寛永", 1624, 2314321, 2321897),
|
215
|
+
Era.new("正保", 1644, 2321897, 2323077),
|
216
|
+
Era.new("慶安", 1648, 2323077, 2324734),
|
217
|
+
Era.new("承応", 1652, 2324734, 2325674),
|
218
|
+
Era.new("明暦", 1655, 2325674, 2326865),
|
219
|
+
Era.new("万治", 1658, 2326865, 2327871),
|
220
|
+
Era.new("寛文", 1661, 2327871, 2332414),
|
221
|
+
Era.new("延宝", 1673, 2332414, 2335346),
|
222
|
+
Era.new("天和", 1681, 2335346, 2336224),
|
223
|
+
Era.new("貞享", 1684, 2336224, 2337886),
|
224
|
+
Era.new("元禄", 1688, 2337886, 2343539),
|
225
|
+
Era.new("宝永", 1704, 2343539, 2346151),
|
226
|
+
Era.new("正徳", 1711, 2346151, 2348037),
|
227
|
+
Era.new("享保", 1716, 2348037, 2355279),
|
228
|
+
Era.new("元文", 1736, 2355279, 2357049),
|
229
|
+
Era.new("寛保", 1741, 2357049, 2358136),
|
230
|
+
Era.new("延享", 1744, 2358136, 2359721),
|
231
|
+
Era.new("寛延", 1748, 2359721, 2360947),
|
232
|
+
Era.new("宝暦", 1751, 2360947, 2365529),
|
233
|
+
Era.new("明和", 1764, 2365529, 2368614),
|
234
|
+
Era.new("安永", 1772, 2368614, 2371672),
|
235
|
+
Era.new("天明", 1781, 2371672, 2374529),
|
236
|
+
Era.new("寛政", 1789, 2374529, 2378939),
|
237
|
+
Era.new("享和", 1801, 2378939, 2380038),
|
238
|
+
Era.new("文化", 1804, 2380038, 2385216),
|
239
|
+
Era.new("文政", 1818, 2385216, 2389841),
|
240
|
+
Era.new("天保", 1830, 2389841, 2394941),
|
241
|
+
Era.new("弘化", 1844, 2394941, 2396119),
|
242
|
+
Era.new("嘉永", 1848, 2396119, 2398599),
|
243
|
+
Era.new("安政", 1854, 2398599, 2400509),
|
244
|
+
Era.new("万延", 1860, 2400509, 2400864),
|
245
|
+
Era.new("文久", 1861, 2400864, 2401958),
|
246
|
+
Era.new("元治", 1864, 2401958, 2402358),
|
247
|
+
Era.new("慶応", 1865, 2402358, 2403629),
|
248
|
+
Era.new("明治", 1868, 2403357, 2419613),
|
249
|
+
Era.new("大正", 1912, 2419614, 2424874),
|
250
|
+
Era.new("昭和", 1926, 2424875, 2447534),
|
251
|
+
Era.new("平成", 1989, 2447535, 1684383730585466947585),
|
252
|
+
].freeze
|
253
|
+
ERA_NORTH_DEFS = [
|
254
|
+
Era.new("大化", 645, 1956842, 1958551),
|
255
|
+
Era.new("白雉", 650, 1958551, 1960259),
|
256
|
+
Era.new("朱鳥", 686, 1971845, 1971893),
|
257
|
+
Era.new("大宝", 701, 1977221, 1978361),
|
258
|
+
Era.new("慶雲", 704, 1978361, 1979692),
|
259
|
+
Era.new("和銅", 708, 1979692, 1982487),
|
260
|
+
Era.new("霊亀", 715, 1982487, 1983300),
|
261
|
+
Era.new("養老", 717, 1983300, 1985561),
|
262
|
+
Era.new("神亀", 724, 1985561, 1987570),
|
263
|
+
Era.new("天平", 729, 1987570, 1994754),
|
264
|
+
Era.new("天平感宝", 749, 1994754, 1994861),
|
265
|
+
Era.new("天平勝宝", 749, 1994861, 1997801),
|
266
|
+
Era.new("天平宝字", 757, 1997801, 2000506),
|
267
|
+
Era.new("天平神護", 765, 2000506, 2001460),
|
268
|
+
Era.new("神護景雲", 767, 2001460, 2002596),
|
269
|
+
Era.new("宝亀", 770, 2002596, 2006348),
|
270
|
+
Era.new("天応", 781, 2006348, 2006956),
|
271
|
+
Era.new("延暦", 782, 2006956, 2015608),
|
272
|
+
Era.new("大同", 806, 2015608, 2017203),
|
273
|
+
Era.new("弘仁", 810, 2017203, 2022062),
|
274
|
+
Era.new("天長", 824, 2022062, 2025721),
|
275
|
+
Era.new("承和", 834, 2025721, 2030987),
|
276
|
+
Era.new("嘉祥", 848, 2030987, 2032037),
|
277
|
+
Era.new("仁寿", 851, 2032037, 2033338),
|
278
|
+
Era.new("斉衡", 854, 2033338, 2034156),
|
279
|
+
Era.new("天安", 857, 2034156, 2034947),
|
280
|
+
Era.new("貞観", 859, 2034947, 2041534),
|
281
|
+
Era.new("元慶", 877, 2041534, 2044374),
|
282
|
+
Era.new("仁和", 885, 2044374, 2045915),
|
283
|
+
Era.new("寛平", 889, 2045915, 2049192),
|
284
|
+
Era.new("昌泰", 898, 2049192, 2050391),
|
285
|
+
Era.new("延喜", 901, 2050391, 2058332),
|
286
|
+
Era.new("延長", 923, 2058332, 2061241),
|
287
|
+
Era.new("承平", 931, 2061241, 2063835),
|
288
|
+
Era.new("天慶", 938, 2063835, 2067084),
|
289
|
+
Era.new("天暦", 947, 2067084, 2070927),
|
290
|
+
Era.new("天徳", 957, 2070927, 2072127),
|
291
|
+
Era.new("応和", 961, 2072127, 2073390),
|
292
|
+
Era.new("康保", 964, 2073390, 2074871),
|
293
|
+
Era.new("安和", 968, 2074871, 2075473),
|
294
|
+
Era.new("天禄", 970, 2075473, 2076827),
|
295
|
+
Era.new("天延", 973, 2076827, 2077765),
|
296
|
+
Era.new("貞元", 976, 2077765, 2078637),
|
297
|
+
Era.new("天元", 978, 2078637, 2080247),
|
298
|
+
Era.new("永観", 983, 2080247, 2080968),
|
299
|
+
Era.new("寛和", 985, 2080968, 2081684),
|
300
|
+
Era.new("永延", 987, 2081684, 2082543),
|
301
|
+
Era.new("永祚", 989, 2082543, 2082985),
|
302
|
+
Era.new("正暦", 990, 2082985, 2084565),
|
303
|
+
Era.new("長徳", 995, 2084565, 2085974),
|
304
|
+
Era.new("長保", 999, 2085974, 2087989),
|
305
|
+
Era.new("寛弘", 1004, 2087989, 2091095),
|
306
|
+
Era.new("長和", 1012, 2091095, 2092658),
|
307
|
+
Era.new("寛仁", 1017, 2092658, 2094054),
|
308
|
+
Era.new("治安", 1021, 2094054, 2095305),
|
309
|
+
Era.new("万寿", 1024, 2095305, 2096765),
|
310
|
+
Era.new("長元", 1028, 2096765, 2099951),
|
311
|
+
Era.new("長暦", 1037, 2099951, 2101268),
|
312
|
+
Era.new("長久", 1040, 2101268, 2102729),
|
313
|
+
Era.new("寛徳", 1044, 2102729, 2103251),
|
314
|
+
Era.new("永承", 1046, 2103251, 2105699),
|
315
|
+
Era.new("天喜", 1053, 2105699, 2107754),
|
316
|
+
Era.new("康平", 1058, 2107754, 2110296),
|
317
|
+
Era.new("治暦", 1065, 2110296, 2111636),
|
318
|
+
Era.new("延久", 1069, 2111636, 2113595),
|
319
|
+
Era.new("承保", 1074, 2113595, 2114771),
|
320
|
+
Era.new("承暦", 1077, 2114771, 2115974),
|
321
|
+
Era.new("永保", 1081, 2115974, 2117063),
|
322
|
+
Era.new("応徳", 1084, 2117063, 2118215),
|
323
|
+
Era.new("寛治", 1087, 2118215, 2121029),
|
324
|
+
Era.new("嘉保", 1094, 2121029, 2121740),
|
325
|
+
Era.new("永長", 1096, 2121740, 2122098),
|
326
|
+
Era.new("承徳", 1097, 2122098, 2122725),
|
327
|
+
Era.new("康和", 1099, 2122725, 2124361),
|
328
|
+
Era.new("長治", 1104, 2124361, 2125157),
|
329
|
+
Era.new("嘉承", 1106, 2125157, 2126007),
|
330
|
+
Era.new("天仁", 1108, 2126007, 2126697),
|
331
|
+
Era.new("天永", 1110, 2126697, 2127818),
|
332
|
+
Era.new("永久", 1113, 2127818, 2129522),
|
333
|
+
Era.new("元永", 1118, 2129522, 2130267),
|
334
|
+
Era.new("保安", 1120, 2130267, 2131737),
|
335
|
+
Era.new("天治", 1124, 2131737, 2132375),
|
336
|
+
Era.new("大治", 1126, 2132375, 2134214),
|
337
|
+
Era.new("天承", 1131, 2134214, 2134785),
|
338
|
+
Era.new("長承", 1132, 2134785, 2135777),
|
339
|
+
Era.new("保延", 1135, 2135777, 2138033),
|
340
|
+
Era.new("永治", 1141, 2138033, 2138318),
|
341
|
+
Era.new("康治", 1142, 2138318, 2138991),
|
342
|
+
Era.new("天養", 1144, 2138991, 2139493),
|
343
|
+
Era.new("久安", 1145, 2139493, 2141505),
|
344
|
+
Era.new("仁平", 1151, 2141505, 2142894),
|
345
|
+
Era.new("久寿", 1154, 2142894, 2143425),
|
346
|
+
Era.new("保元", 1156, 2143425, 2144511),
|
347
|
+
Era.new("平治", 1159, 2144511, 2144796),
|
348
|
+
Era.new("永暦", 1160, 2144796, 2145380),
|
349
|
+
Era.new("応保", 1161, 2145380, 2145967),
|
350
|
+
Era.new("長寛", 1163, 2145967, 2146769),
|
351
|
+
Era.new("永万", 1165, 2146769, 2147205),
|
352
|
+
Era.new("仁安", 1166, 2147205, 2148161),
|
353
|
+
Era.new("嘉応", 1169, 2148161, 2148912),
|
354
|
+
Era.new("承安", 1171, 2148912, 2150454),
|
355
|
+
Era.new("安元", 1175, 2150454, 2151198),
|
356
|
+
Era.new("治承", 1177, 2151198, 2152655),
|
357
|
+
Era.new("養和", 1181, 2152655, 2152963),
|
358
|
+
Era.new("寿永", 1182, 2152963, 2153661),
|
359
|
+
Era.new("元暦", 1184, 2153661, 2154131),
|
360
|
+
Era.new("文治", 1185, 2154131, 2155841),
|
361
|
+
Era.new("建久", 1190, 2155841, 2159135),
|
362
|
+
Era.new("正治", 1199, 2159135, 2159801),
|
363
|
+
Era.new("建仁", 1201, 2159801, 2160901),
|
364
|
+
Era.new("元久", 1204, 2160901, 2161705),
|
365
|
+
Era.new("建永", 1206, 2161705, 2162234),
|
366
|
+
Era.new("承元", 1207, 2162234, 2163488),
|
367
|
+
Era.new("建暦", 1211, 2163488, 2164489),
|
368
|
+
Era.new("建保", 1213, 2164489, 2166444),
|
369
|
+
Era.new("承久", 1219, 2166444, 2167538),
|
370
|
+
Era.new("貞応", 1222, 2167538, 2168489),
|
371
|
+
Era.new("元仁", 1224, 2168489, 2168637),
|
372
|
+
Era.new("嘉禄", 1225, 2168637, 2169602),
|
373
|
+
Era.new("安貞", 1227, 2169602, 2170040),
|
374
|
+
Era.new("寛喜", 1229, 2170040, 2171159),
|
375
|
+
Era.new("貞永", 1232, 2171159, 2171556),
|
376
|
+
Era.new("天福", 1233, 2171556, 2172107),
|
377
|
+
Era.new("文暦", 1234, 2172107, 2172446),
|
378
|
+
Era.new("嘉禎", 1235, 2172446, 2173601),
|
379
|
+
Era.new("暦仁", 1238, 2173601, 2173674),
|
380
|
+
Era.new("延応", 1239, 2173674, 2174185),
|
381
|
+
Era.new("仁治", 1240, 2174185, 2175140),
|
382
|
+
Era.new("寛元", 1243, 2175140, 2176619),
|
383
|
+
Era.new("宝治", 1247, 2176619, 2177377),
|
384
|
+
Era.new("建長", 1249, 2177377, 2180109),
|
385
|
+
Era.new("康元", 1256, 2180109, 2180267),
|
386
|
+
Era.new("正嘉", 1257, 2180267, 2181017),
|
387
|
+
Era.new("正元", 1259, 2181017, 2181417),
|
388
|
+
Era.new("文応", 1260, 2181417, 2181719),
|
389
|
+
Era.new("弘長", 1261, 2181719, 2182820),
|
390
|
+
Era.new("文永", 1264, 2182820, 2186893),
|
391
|
+
Era.new("建治", 1275, 2186893, 2187929),
|
392
|
+
Era.new("弘安", 1278, 2187929, 2191649),
|
393
|
+
Era.new("正応", 1288, 2191649, 2193575),
|
394
|
+
Era.new("永仁", 1293, 2193575, 2195662),
|
395
|
+
Era.new("正安", 1299, 2195662, 2196957),
|
396
|
+
Era.new("乾元", 1302, 2196957, 2197237),
|
397
|
+
Era.new("嘉元", 1303, 2197237, 2198457),
|
398
|
+
Era.new("徳治", 1306, 2198457, 2199131),
|
399
|
+
Era.new("延慶", 1308, 2199131, 2200037),
|
400
|
+
Era.new("応長", 1311, 2200037, 2200383),
|
401
|
+
Era.new("正和", 1312, 2200383, 2202167),
|
402
|
+
Era.new("文保", 1317, 2202167, 2202960),
|
403
|
+
Era.new("元応", 1319, 2202960, 2203634),
|
404
|
+
Era.new("元亨", 1321, 2203634, 2205008),
|
405
|
+
Era.new("正中", 1324, 2205008, 2205527),
|
406
|
+
Era.new("嘉暦", 1326, 2205527, 2206740),
|
407
|
+
Era.new("元徳", 1329, 2206740, 2207459),
|
408
|
+
Era.new("元弘", 1331, 2207459, 2208365),
|
409
|
+
Era.new("正慶", 1332, 2207714, 2208124),
|
410
|
+
Era.new("建武", 1334, 2208365, 2210046),
|
411
|
+
Era.new("延元", 1336, 2209133, 2210638),
|
412
|
+
Era.new("興国", 1340, 2210638, 2213069),
|
413
|
+
Era.new("正平", 1346, 2213069, 2221678),
|
414
|
+
Era.new("建徳", 1370, 2221678, 2222302),
|
415
|
+
Era.new("文中", 1372, 2222302, 2223453),
|
416
|
+
Era.new("天授", 1375, 2223453, 2225533),
|
417
|
+
Era.new("弘和", 1381, 2225533, 2226702),
|
418
|
+
Era.new("元中", 1384, 2226702, 2229809),
|
419
|
+
Era.new("暦応", 1338, 2210046, 2211375),
|
420
|
+
Era.new("康永", 1342, 2211375, 2212638),
|
421
|
+
Era.new("貞和", 1345, 2212638, 2214239),
|
422
|
+
Era.new("観応", 1350, 2214239, 2215184),
|
423
|
+
Era.new("文和", 1352, 2215184, 2216456),
|
424
|
+
Era.new("延文", 1356, 2216456, 2218287),
|
425
|
+
Era.new("康安", 1361, 2218287, 2218812),
|
426
|
+
Era.new("貞治", 1362, 2218812, 2220786),
|
427
|
+
Era.new("応安", 1368, 2220786, 2223364),
|
428
|
+
Era.new("永和", 1375, 2223364, 2224836),
|
429
|
+
Era.new("康暦", 1379, 2224836, 2225547),
|
430
|
+
Era.new("永徳", 1381, 2225547, 2226642),
|
431
|
+
Era.new("至徳", 1384, 2226642, 2227937),
|
432
|
+
Era.new("嘉慶", 1387, 2227937, 2228456),
|
433
|
+
Era.new("康応", 1389, 2228456, 2228857),
|
434
|
+
Era.new("明徳", 1390, 2228857, 2230430),
|
435
|
+
Era.new("応永", 1394, 2230430, 2242796),
|
436
|
+
Era.new("正長", 1428, 2242796, 2243276),
|
437
|
+
Era.new("永享", 1429, 2243276, 2247452),
|
438
|
+
Era.new("嘉吉", 1441, 2247452, 2248532),
|
439
|
+
Era.new("文安", 1444, 2248532, 2250533),
|
440
|
+
Era.new("宝徳", 1449, 2250533, 2251623),
|
441
|
+
Era.new("享徳", 1452, 2251623, 2252745),
|
442
|
+
Era.new("康正", 1455, 2252745, 2253516),
|
443
|
+
Era.new("長禄", 1457, 2253516, 2254720),
|
444
|
+
Era.new("寛正", 1460, 2254720, 2256587),
|
445
|
+
Era.new("文正", 1466, 2256587, 2256978),
|
446
|
+
Era.new("応仁", 1467, 2256978, 2257769),
|
447
|
+
Era.new("文明", 1469, 2257769, 2264405),
|
448
|
+
Era.new("長享", 1487, 2264405, 2265174),
|
449
|
+
Era.new("延徳", 1489, 2265174, 2266235),
|
450
|
+
Era.new("明応", 1492, 2266235, 2269375),
|
451
|
+
Era.new("文亀", 1501, 2269375, 2270469),
|
452
|
+
Era.new("永正", 1504, 2270469, 2276869),
|
453
|
+
Era.new("大永", 1521, 2276869, 2279406),
|
454
|
+
Era.new("享禄", 1528, 2279406, 2280862),
|
455
|
+
Era.new("天文", 1532, 2280862, 2289332),
|
456
|
+
Era.new("弘治", 1555, 2289332, 2290194),
|
457
|
+
Era.new("永禄", 1558, 2290194, 2294647),
|
458
|
+
Era.new("元亀", 1570, 2294647, 2295833),
|
459
|
+
Era.new("天正", 1573, 2295833, 2302901),
|
460
|
+
Era.new("文禄", 1592, 2302901, 2304337),
|
461
|
+
Era.new("慶長", 1596, 2304337, 2311174),
|
462
|
+
Era.new("元和", 1615, 2311174, 2314321),
|
463
|
+
Era.new("寛永", 1624, 2314321, 2321897),
|
464
|
+
Era.new("正保", 1644, 2321897, 2323077),
|
465
|
+
Era.new("慶安", 1648, 2323077, 2324734),
|
466
|
+
Era.new("承応", 1652, 2324734, 2325674),
|
467
|
+
Era.new("明暦", 1655, 2325674, 2326865),
|
468
|
+
Era.new("万治", 1658, 2326865, 2327871),
|
469
|
+
Era.new("寛文", 1661, 2327871, 2332414),
|
470
|
+
Era.new("延宝", 1673, 2332414, 2335346),
|
471
|
+
Era.new("天和", 1681, 2335346, 2336224),
|
472
|
+
Era.new("貞享", 1684, 2336224, 2337886),
|
473
|
+
Era.new("元禄", 1688, 2337886, 2343539),
|
474
|
+
Era.new("宝永", 1704, 2343539, 2346151),
|
475
|
+
Era.new("正徳", 1711, 2346151, 2348037),
|
476
|
+
Era.new("享保", 1716, 2348037, 2355279),
|
477
|
+
Era.new("元文", 1736, 2355279, 2357049),
|
478
|
+
Era.new("寛保", 1741, 2357049, 2358136),
|
479
|
+
Era.new("延享", 1744, 2358136, 2359721),
|
480
|
+
Era.new("寛延", 1748, 2359721, 2360947),
|
481
|
+
Era.new("宝暦", 1751, 2360947, 2365529),
|
482
|
+
Era.new("明和", 1764, 2365529, 2368614),
|
483
|
+
Era.new("安永", 1772, 2368614, 2371672),
|
484
|
+
Era.new("天明", 1781, 2371672, 2374529),
|
485
|
+
Era.new("寛政", 1789, 2374529, 2378939),
|
486
|
+
Era.new("享和", 1801, 2378939, 2380038),
|
487
|
+
Era.new("文化", 1804, 2380038, 2385216),
|
488
|
+
Era.new("文政", 1818, 2385216, 2389841),
|
489
|
+
Era.new("天保", 1830, 2389841, 2394941),
|
490
|
+
Era.new("弘化", 1844, 2394941, 2396119),
|
491
|
+
Era.new("嘉永", 1848, 2396119, 2398599),
|
492
|
+
Era.new("安政", 1854, 2398599, 2400509),
|
493
|
+
Era.new("万延", 1860, 2400509, 2400864),
|
494
|
+
Era.new("文久", 1861, 2400864, 2401958),
|
495
|
+
Era.new("元治", 1864, 2401958, 2402358),
|
496
|
+
Era.new("慶応", 1865, 2402358, 2403629),
|
497
|
+
Era.new("明治", 1868, 2403357, 2419613),
|
498
|
+
Era.new("大正", 1912, 2419614, 2424874),
|
499
|
+
Era.new("昭和", 1926, 2424875, 2447534),
|
500
|
+
Era.new("平成", 1989, 2447535, 1684383730585466947585),
|
501
|
+
].freeze
|
502
|
+
end
|
data/lib/wareki/utils.rb
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
module Wareki
|
2
|
+
module Utils
|
3
|
+
module_function
|
4
|
+
def kan_to_i(str)
|
5
|
+
ret = 0
|
6
|
+
curnum = nil
|
7
|
+
str == "零" and return 0
|
8
|
+
str.to_s.each_char do |c|
|
9
|
+
case c
|
10
|
+
when *%w(正 元 朔 一 二 三 四 五 六 七 八 九 肆 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9)
|
11
|
+
if curnum
|
12
|
+
curnum *= 10
|
13
|
+
else
|
14
|
+
curnum = 0
|
15
|
+
end
|
16
|
+
curnum += c.tr("一二三四五六七八九123456789肆元朔正", "1234567891234567894111").to_i
|
17
|
+
when "〇", "0", "0"
|
18
|
+
curnum and curnum *= 10
|
19
|
+
when "卄", "廿"
|
20
|
+
ret += 20
|
21
|
+
curnum = nil
|
22
|
+
when "卅", "丗"
|
23
|
+
ret += 30
|
24
|
+
curnum = nil
|
25
|
+
when "卌"
|
26
|
+
ret += 40
|
27
|
+
curnum = nil
|
28
|
+
when "皕"
|
29
|
+
ret += 200
|
30
|
+
curnum = nil
|
31
|
+
when "十", "百", "千", "万", "億", "兆"
|
32
|
+
if curnum
|
33
|
+
ret += curnum * 10 ** (["十", "百", "千", "万", "億", "兆"].index(c)+1)
|
34
|
+
else
|
35
|
+
ret += 10 ** (["十", "百", "千", "万", "億", "兆"].index(c)+1)
|
36
|
+
end
|
37
|
+
curnum = nil
|
38
|
+
end
|
39
|
+
end
|
40
|
+
if curnum
|
41
|
+
ret += curnum
|
42
|
+
curnum = nil
|
43
|
+
end
|
44
|
+
ret
|
45
|
+
end
|
46
|
+
|
47
|
+
def i_to_kan(num, opts = {})
|
48
|
+
ret = ''
|
49
|
+
{
|
50
|
+
'京' => 10000000000000000,
|
51
|
+
'兆' => 1000000000000,
|
52
|
+
'億' => 100000000,
|
53
|
+
'万' => 10000,
|
54
|
+
'' => 1,
|
55
|
+
}.each do |unit4, rank4|
|
56
|
+
i4 = (num / rank4).to_i % 10000
|
57
|
+
if i4 == 0
|
58
|
+
next
|
59
|
+
elsif i4 == 1
|
60
|
+
ret += "一#{unit4}"
|
61
|
+
next
|
62
|
+
end
|
63
|
+
{
|
64
|
+
'千' => 1000,
|
65
|
+
'百' => 100,
|
66
|
+
'十' => 10,
|
67
|
+
'' => 1,
|
68
|
+
}.each do |unit1, rank1|
|
69
|
+
i1 = (i4 / rank1).to_i % 10
|
70
|
+
if i1 == 0
|
71
|
+
next
|
72
|
+
elsif i1 == 1 && unit1 != ""
|
73
|
+
ret += unit1
|
74
|
+
else
|
75
|
+
ret += i1.to_s.tr('123456789', '一二三四五六七八九') + unit1
|
76
|
+
end
|
77
|
+
end
|
78
|
+
ret += unit4
|
79
|
+
end
|
80
|
+
ret
|
81
|
+
end
|
82
|
+
|
83
|
+
def i_to_zen(num)
|
84
|
+
num.to_s.tr('0123456789', '0123456789')
|
85
|
+
end
|
86
|
+
|
87
|
+
def last_day_of_month(year, month, is_leap)
|
88
|
+
if year >= GREGORIAN_START_YEAR
|
89
|
+
tmp_y = year
|
90
|
+
tmp_m = month
|
91
|
+
if month == 12
|
92
|
+
tmp_y += 1
|
93
|
+
tmp_m = 1
|
94
|
+
else
|
95
|
+
tmp_m += 1
|
96
|
+
end
|
97
|
+
day = (::Date.new(tmp_y, tmp_m, 1, Date::GREGORIAN)-1).day
|
98
|
+
else
|
99
|
+
yobj = YEAR_BY_NUM[year] or
|
100
|
+
raise UnsupportedDateRange, "Cannot find year #{self.inspect}"
|
101
|
+
month_idx = month - 1
|
102
|
+
if is_leap || yobj.leap_month && yobj.leap_month < month
|
103
|
+
month_idx += 1
|
104
|
+
end
|
105
|
+
day = yobj.month_days[month_idx]
|
106
|
+
end
|
107
|
+
day
|
108
|
+
end
|
109
|
+
|
110
|
+
def alt_month_name_to_i(name)
|
111
|
+
i = ALT_MONTH_NAME.index(name) or return false
|
112
|
+
i + 1
|
113
|
+
end
|
114
|
+
|
115
|
+
def alt_month_name(month)
|
116
|
+
ALT_MONTH_NAME[month - 1]
|
117
|
+
end
|
118
|
+
|
119
|
+
def _to_date(d)
|
120
|
+
if d.kind_of? ::Date
|
121
|
+
d # nothing to do
|
122
|
+
elsif d.kind_of?(Time)
|
123
|
+
d.to_date
|
124
|
+
else
|
125
|
+
::Date.jd(d.to_i)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def _to_jd(d)
|
130
|
+
if d.kind_of? ::Date
|
131
|
+
d.jd
|
132
|
+
elsif d.kind_of?(Time)
|
133
|
+
d.to_date.jd
|
134
|
+
else
|
135
|
+
d.to_i
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
def find_date_ary(d)
|
140
|
+
d = _to_date(d).new_start(::Date::GREGORIAN)
|
141
|
+
if d.jd >= GREGORIAN_START
|
142
|
+
return [d.year, d.month, d.day, false]
|
143
|
+
end
|
144
|
+
|
145
|
+
yobj = find_year(d) or raise UnsupportedDateRange, "Unsupported date: #{d.inspect}"
|
146
|
+
month = 0
|
147
|
+
is_leap = false
|
148
|
+
if yobj.month_starts.last <= d.jd
|
149
|
+
month = yobj.month_starts.count
|
150
|
+
else
|
151
|
+
month = yobj.month_starts.find_index {|m| d.jd <= (m - 1) }
|
152
|
+
end
|
153
|
+
month_start = yobj.month_starts[month-1]
|
154
|
+
is_leap = (yobj.leap_month == (month - 1))
|
155
|
+
if yobj.leap_month && yobj.leap_month < month
|
156
|
+
month -= 1
|
157
|
+
end
|
158
|
+
[yobj.year, month, d.jd - month_start +1, is_leap]
|
159
|
+
end
|
160
|
+
|
161
|
+
def find_year(d)
|
162
|
+
jd = _to_jd(d)
|
163
|
+
YEAR_DEFS.bsearch{|y| y.end > jd }
|
164
|
+
end
|
165
|
+
|
166
|
+
def find_era(d)
|
167
|
+
jd = _to_jd(d)
|
168
|
+
e = ERA_DEFS.bsearch{|e| e.end > jd }
|
169
|
+
e.start > jd and return nil
|
170
|
+
e
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
data/lib/wareki.rb
ADDED