when_exe 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE.ja.txt +8 -21
- data/LICENSE.txt +5 -27
- data/README.md +25 -79
- data/bin/.pryrc +9 -0
- data/bin/make_ttl.rb +3 -2
- data/bin/make_ttl.rb.config +3 -3
- data/lib/when_exe.rb +101 -5
- data/lib/when_exe/basictypes.rb +47 -16
- data/lib/when_exe/calendarnote.rb +27 -18
- data/lib/when_exe/calendartypes.rb +12 -50
- data/lib/when_exe/coordinates.rb +37 -391
- data/lib/when_exe/ephemeris.rb +53 -14
- data/lib/when_exe/ephemeris/eclipse.rb +8 -8
- data/lib/when_exe/ephemeris/moon.rb +333 -333
- data/lib/when_exe/ephemeris/notes.rb +29 -17
- data/lib/when_exe/ephemeris/phase_table.rb +825 -0
- data/lib/when_exe/ephemeris/term_table.rb +603 -0
- data/lib/when_exe/events.rb +1888 -0
- data/lib/when_exe/google_api.rb +26 -31
- data/lib/when_exe/icalendar.rb +129 -12
- data/lib/when_exe/inspect.rb +5 -5
- data/lib/when_exe/linkeddata.rb +43 -23
- data/lib/when_exe/locales/akt.rb +63 -0
- data/lib/when_exe/locales/encoding_conversion.rb +134 -134
- data/lib/when_exe/locales/iast.rb +90 -90
- data/lib/when_exe/locales/locale.rb +88 -18
- data/lib/when_exe/locales/transliteration_table.rb +62 -62
- data/lib/when_exe/mini_application.rb +14 -8
- data/lib/when_exe/namespace.rb +42 -0
- data/lib/when_exe/parts/enumerator.rb +16 -5
- data/lib/when_exe/parts/geometric_complex.rb +52 -2
- data/lib/when_exe/parts/method_cash.rb +229 -224
- data/lib/when_exe/parts/resource.rb +65 -35
- data/lib/when_exe/parts/timezone.rb +25 -34
- data/lib/when_exe/region/balinese.rb +5 -3
- data/lib/when_exe/region/chinese.rb +39 -11
- data/lib/when_exe/region/chinese/calendars.rb +1016 -1016
- data/lib/when_exe/region/chinese/epochs.rb +7 -7
- data/lib/when_exe/region/chinese/notes.rb +3 -3
- data/lib/when_exe/region/chinese/twins.rb +134 -11
- data/lib/when_exe/region/dee.rb +4 -4
- data/lib/when_exe/region/discordian.rb +1 -1
- data/lib/when_exe/region/geologicalage.rb +139 -128
- data/lib/when_exe/region/hanke_henry.rb +4 -4
- data/lib/when_exe/region/indian.rb +77 -8
- data/lib/when_exe/region/international_fixed.rb +3 -3
- data/lib/when_exe/region/islamic.rb +1 -1
- data/lib/when_exe/region/japanese.rb +12 -8
- data/lib/when_exe/region/japanese/calendars.rb +397 -397
- data/lib/when_exe/region/japanese/eclipses.rb +1194 -1194
- data/lib/when_exe/region/japanese/epochs.rb +8 -4
- data/lib/when_exe/region/japanese/location.rb +93 -0
- data/lib/when_exe/region/japanese/nihon_shoki.rb +70 -70
- data/lib/when_exe/region/japanese/notes.rb +57 -18
- data/lib/when_exe/region/japanese/residues.rb +33 -11
- data/lib/when_exe/region/japanese/twins.rb +27 -14
- data/lib/when_exe/region/japanese/weeks.rb +7 -7
- data/lib/when_exe/region/korean.rb +384 -384
- data/lib/when_exe/region/location.rb +40 -0
- data/lib/when_exe/region/martian.rb +1 -1
- data/lib/when_exe/region/mayan.rb +2 -2
- data/lib/when_exe/region/roman.rb +2 -2
- data/lib/when_exe/region/ryukyu.rb +101 -101
- data/lib/when_exe/region/saudi_arabian.rb +57 -0
- data/lib/when_exe/region/shire.rb +1 -1
- data/lib/when_exe/region/world.rb +3 -3
- data/lib/when_exe/region/zoroastrian.rb +1 -1
- data/lib/when_exe/spatial.rb +611 -0
- data/lib/when_exe/timestandard.rb +9 -7
- data/lib/when_exe/tmobjects.rb +34 -2
- data/lib/when_exe/tmposition.rb +225 -1322
- data/lib/when_exe/tmptypes.rb +1279 -0
- data/lib/when_exe/tmreference.rb +42 -7
- data/lib/when_exe/version.rb +3 -3
- data/test/events/example-datasets +6 -0
- data/test/events/history-dataset.csv +22 -0
- data/test/events/japanese-holiday-index.csv +28 -0
- data/test/events/japanese-holiday.csv +94 -0
- data/test/events/japanese-holiday.ttl +948 -0
- data/test/events/make_events_ttl.rb +18 -0
- data/test/events/mori_wikichoshi.csv +14 -0
- data/test/events/ndl_koyomi.csv +220 -0
- data/test/events/ndl_koyomi_index.csv +44 -0
- data/test/events/primeminister-dataset.csv +19 -0
- data/test/events/shogun-dataset.csv +22 -0
- data/test/events/test-history-dataset-edge-sparql.csv +26 -0
- data/test/events/test-history-dataset-edge.csv +27 -0
- data/test/events/test-history-dataset-sparql.csv +22 -0
- data/test/events/test-history-dataset.csv +23 -0
- data/test/events/test-history-events-edge.ttl +89 -0
- data/test/events/test-history-events.csv +6 -0
- data/test/examples/JapanHolidays.ics +2 -2
- data/test/examples/JapanHolidaysRFC6350.ics +3 -3
- data/test/examples/Residue.m17n +2 -2
- data/test/examples/Spatial.m17n +3 -3
- data/test/examples/Terms.m17n +3 -3
- data/test/scripts/8.ext.rb +6 -6
- data/test/scripts/8.rb +6 -6
- data/test/scripts/geometric_complex.rb +41 -41
- data/test/scripts/korea.rb +59 -59
- data/test/scripts/thai.rb +36 -36
- data/test/test.rb +6 -0
- data/test/test/basictypes.rb +431 -431
- data/test/test/calendarnote.rb +86 -86
- data/test/test/calendartypes.rb +97 -97
- data/test/test/coordinates.rb +399 -397
- data/test/test/ephemeris.rb +115 -115
- data/test/test/ephemeris/moon.rb +14 -14
- data/test/test/ephemeris/planets.rb +14 -14
- data/test/test/ephemeris/sun.rb +14 -14
- data/test/test/events.rb +32 -0
- data/test/test/google_api.rb +45 -32
- data/test/test/inspect.rb +153 -153
- data/test/test/parts.rb +488 -488
- data/test/test/region/armenian.rb +20 -20
- data/test/test/region/bahai.rb +58 -58
- data/test/test/region/balinese.rb +34 -34
- data/test/test/region/chinese.rb +229 -229
- data/test/test/region/christian.rb +226 -226
- data/test/test/region/coptic.rb +27 -27
- data/test/test/region/discordian.rb +20 -20
- data/test/test/region/french.rb +33 -33
- data/test/test/region/geologicalage.rb +17 -17
- data/test/test/region/indian.rb +14 -1
- data/test/test/region/iran.rb +54 -54
- data/test/test/region/islamic.rb +64 -54
- data/test/test/region/japanese.rb +281 -261
- data/test/test/region/jewish.rb +63 -63
- data/test/test/region/m17n.rb +21 -21
- data/test/test/region/mayan.rb +17 -16
- data/test/test/region/reforms.rb +2 -2
- data/test/test/region/residue.rb +7 -7
- data/test/test/region/shire.rb +58 -58
- data/test/test/region/swedish.rb +45 -45
- data/test/test/region/thai.rb +116 -116
- data/test/test/region/tibetan.rb +30 -30
- data/test/test/region/vietnamese.rb +102 -102
- data/test/test/region/zoroastrian.rb +58 -58
- data/test/test/timestandard.rb +81 -81
- data/test/test/tmobjects.rb +402 -402
- data/test/test/tmposition.rb +66 -4
- data/test/test/tmreference.rb +157 -157
- metadata +36 -93
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-2021 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
@@ -335,7 +335,9 @@ module When
|
|
335
335
|
["[昭和,Shōwa=en:Sh%C5%8Dwa_period,S]1.12.25", "@A",
|
336
336
|
"name=[昭和天皇,Emperor_Shōwa];1926-12-25"],
|
337
337
|
["[平成,Heisei=en:Heisei_period,H]1.01.08", "@A",
|
338
|
-
"name=[
|
338
|
+
"name=[上皇明仁,Emperor_Emeritus_of_Japan=en:Akihito];1989-01-08"],
|
339
|
+
["[令和,Reiwa,R]1.05.01", "@A",
|
340
|
+
"name=[今上天皇=ja:%%<徳仁>,Emperor_Kinjō=en:Naruhito];2019-05-01"]
|
339
341
|
]]
|
340
342
|
|
341
343
|
#
|
@@ -403,7 +405,7 @@ module When
|
|
403
405
|
["[鈴木善幸]1.07.17", "@A", "1980-07-17"],
|
404
406
|
["[中曽根康弘]1.11.27", "@A", "1982-11-27"],
|
405
407
|
["[竹下登]1.11.06", "@A", "1987-11-06",
|
406
|
-
"name=[
|
408
|
+
"name=[上皇明仁,Emperor_Emeritus_of_Japan=en:Akihito];1989-01-08", ""],
|
407
409
|
["[宇野宗佑]1.06.03", "@A", "1989-06-03"],
|
408
410
|
["[海部俊樹]1.08.10", "@A", "1989-08-10"],
|
409
411
|
["[宮沢喜一]1.11.05", "@A", "1991-11-05"],
|
@@ -420,7 +422,9 @@ module When
|
|
420
422
|
["[鳩山由紀夫]1.09.16", "@A", "2009-09-16"],
|
421
423
|
["[菅直人]1.06.08", "@A", "2010-06-08"],
|
422
424
|
["[野田佳彦]1.09.02", "@A", "2011-09-02"],
|
423
|
-
["[安倍晋三・再=ja:%%<安倍晋三>]1.12.26", "@A", "2012-12-26"
|
425
|
+
["[安倍晋三・再=ja:%%<安倍晋三>]1.12.26", "@A", "2012-12-26",
|
426
|
+
"name=[今上天皇=ja:%%<徳仁>,Emperor_Kinjō=en:Naruhito];2019-05-01", ""],
|
427
|
+
["[菅義偉]1.09.16", "@A", "2020-09-16"]
|
424
428
|
]]
|
425
429
|
end
|
426
430
|
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2015 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
module When::Coordinates
|
10
|
+
|
11
|
+
t1 = LocationTable[1]
|
12
|
+
t2 = LocationTable[2]
|
13
|
+
t3 = LocationTable[3]
|
14
|
+
t4 = LocationTable[4]
|
15
|
+
co = (0..2).to_a
|
16
|
+
|
17
|
+
# 位置参照情報ダウンロードサービス「全ての大字・町丁目レベル」( http://nlftp.mlit.go.jp/isj/ )を配置してください
|
18
|
+
geolocation_data = When::Parts::Resource.root_dir + '/data/geolocation/japanese/*.csv'
|
19
|
+
|
20
|
+
#
|
21
|
+
# はしご高など UTF-8 への変換に失敗するコードを含む地名は登録しない
|
22
|
+
#
|
23
|
+
# @private
|
24
|
+
def self.utf_gets(io)
|
25
|
+
error_occurred = false
|
26
|
+
line = nil
|
27
|
+
loop do
|
28
|
+
error = nil
|
29
|
+
begin
|
30
|
+
line = io.gets
|
31
|
+
rescue Encoding::UndefinedConversionError => error
|
32
|
+
error_occurred = true
|
33
|
+
end
|
34
|
+
unless error
|
35
|
+
return error_occurred ? utf_gets(io) : line
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
Dir.glob(geolocation_data).each do |path|
|
41
|
+
open(path,'r:SHIFT_JIS') do |io|
|
42
|
+
h = {}
|
43
|
+
lines = ''
|
44
|
+
while (line = utf_gets(io))
|
45
|
+
lines.concat(line)
|
46
|
+
end
|
47
|
+
CSV.parse(lines) do |r|
|
48
|
+
if h.empty?
|
49
|
+
h = Hash[*(0...r.size).to_a.map {|i| [r[i],i]}.flatten]
|
50
|
+
else
|
51
|
+
location = [r[h['経度']].to_f, r[h['緯度']].to_f, 0]
|
52
|
+
wide_name = r[h['都道府県名']]
|
53
|
+
middle_name = wide_name + r[h['市区町村名']]
|
54
|
+
fine_name = r[h['大字町丁目名']]
|
55
|
+
full_name = middle_name + fine_name
|
56
|
+
t1[full_name] = location
|
57
|
+
t2[middle_name][fine_name] = location
|
58
|
+
t3[wide_name][r[h['市区町村名']]][fine_name] = location
|
59
|
+
case r[h['市区町村名']]
|
60
|
+
when /\A((.+)市)(.+区)\z/
|
61
|
+
t1[$1 + $3 + fine_name] = location
|
62
|
+
t2[$1 + $3] [fine_name] = location
|
63
|
+
t3[$1] [$3] [fine_name] = location
|
64
|
+
t3[$2] [$3] [fine_name] = location
|
65
|
+
when /\A((.+)市)\z/
|
66
|
+
t4[$1] << middle_name
|
67
|
+
t4[$2] << middle_name
|
68
|
+
t4[$1 + fine_name] << full_name
|
69
|
+
when /\A.+郡(.+[町村])\z/
|
70
|
+
t4[wide_name + $1] << middle_name
|
71
|
+
t4[wide_name + $1 + fine_name] << full_name
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
t3.keys.each do |p|
|
79
|
+
t3[p].keys.each do |c|
|
80
|
+
locations = t3[p][c].values.transpose
|
81
|
+
t3[p][c][:SWB] = t2[p+c][:SWB] = co.map {|i| locations[i].min}
|
82
|
+
t3[p][c][:NET] = t2[p+c][:NET] = co.map {|i| locations[i].max}
|
83
|
+
end
|
84
|
+
swb = t3[p].keys.map {|c| t3[p][c][:SWB]}.transpose
|
85
|
+
net = t3[p].keys.map {|c| t3[p][c][:NET]}.transpose
|
86
|
+
t3[p][:SWB] = co.map {|i| swb[i].min}
|
87
|
+
t3[p][:NET] = co.map {|i| net[i].max}
|
88
|
+
end
|
89
|
+
|
90
|
+
t4.each_pair do |key, value|
|
91
|
+
value.uniq!
|
92
|
+
end
|
93
|
+
end
|
@@ -1,70 +1,70 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
-
=end
|
7
|
-
|
8
|
-
class When::TM::CalendarEra
|
9
|
-
|
10
|
-
#
|
11
|
-
# 皇紀
|
12
|
-
#
|
13
|
-
NihonKoki = [self, [
|
14
|
-
"locale:[=ja:, en=en:, alias]",
|
15
|
-
"area:[日本]",
|
16
|
-
["[皇紀=ja:%%<神武天皇即位紀元>]1", "@A", "-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
17
|
-
["[皇紀=ja:%%<神武天皇即位紀元>]1114", "@CR", "0454-01-01^Japanese"],
|
18
|
-
["[皇紀=ja:%%<神武天皇即位紀元>]2533", "@CR", "1873-01-01^Gregorian"]
|
19
|
-
]]
|
20
|
-
|
21
|
-
#
|
22
|
-
# 日本書紀暦日
|
23
|
-
#
|
24
|
-
NihonShoki = [self, [
|
25
|
-
"locale:[=ja:, en=en:, alias]",
|
26
|
-
"period:[日本(日本書紀)=ja:%%<日本書紀>, (Nihon_Shoki)=en:Nihon_Shoki]",
|
27
|
-
["[<神武>=ja:%%<神武天皇>]1", "@A", "name=[神武=ja:%%<神武天皇>];-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
28
|
-
["[<綏靖>=ja:%%<綏靖天皇>]1", "@A", "name=[綏靖=ja:%%<綏靖天皇>];-580-01-08"],
|
29
|
-
["[<安寧>=ja:%%<安寧天皇>]0", "@A", "name=[安寧=ja:%%<安寧天皇>];-548-07-03"],
|
30
|
-
["[<懿徳>=ja:%%<懿徳天皇>]1", "@A", "name=[懿徳=ja:%%<懿徳天皇>];-509-02-04"],
|
31
|
-
["[<孝昭>=ja:%%<孝昭天皇>]1", "@A", "name=[孝昭=ja:%%<孝昭天皇>];-474-01-09"],
|
32
|
-
["[<孝安>=ja:%%<孝安天皇>]1", "@A", "name=[孝安=ja:%%<孝安天皇>];-391-01-07"],
|
33
|
-
["[<孝霊>=ja:%%<孝霊天皇>]1", "@A", "name=[孝霊=ja:%%<孝霊天皇>];-289-01-12"],
|
34
|
-
["[<孝元>=ja:%%<孝元天皇>]1", "@A", "name=[孝元=ja:%%<孝元天皇>];-213-01-14"],
|
35
|
-
["[<開化>=ja:%%<開化天皇>]0", "@A", "name=[開化=ja:%%<開化天皇>];-157-11-12"],
|
36
|
-
["[<崇神>=ja:%%<崇神天皇>]1", "@A", "name=[崇神=ja:%%<崇神天皇>];-096-01-13"],
|
37
|
-
["[<垂仁>=ja:%%<垂仁天皇>]1", "@A", "name=[垂仁=ja:%%<垂仁天皇>];-028-01-02"],
|
38
|
-
["[<景行>=ja:%%<景行天皇>]1", "@A", "name=[景行=ja:%%<景行天皇>];0071-07-11"],
|
39
|
-
["[<成務>=ja:%%<成務天皇>]1", "@A", "name=[成務=ja:%%<成務天皇>];0131-01-05"],
|
40
|
-
["[<仲哀>=ja:%%<仲哀天皇>]1", "@A", "name=[仲哀=ja:%%<仲哀天皇>];0192-01-11"],
|
41
|
-
["[<神功皇后>=ja:%%<神功皇后>]0", "@A","name=[神功皇后=ja:%%<神功皇后>];0200-02-07"],
|
42
|
-
["[<応神>=ja:%%<応神天皇>]1", "@A", "name=[応神=ja:%%<応神天皇>];0270-01-01"],
|
43
|
-
["[<仁徳>=ja:%%<仁徳天皇>]1", "@A", "name=[仁徳=ja:%%<仁徳天皇>];0313-01-03"],
|
44
|
-
["[<履中>=ja:%%<履中天皇>]1", "@A", "name=[履中=ja:%%<履中天皇>];0400-02-01"],
|
45
|
-
["[<反正>=ja:%%<反正天皇>]1", "@A", "name=[反正=ja:%%<反正天皇>];0406-01-02"],
|
46
|
-
["[<允恭>=ja:%%<允恭天皇>]1", "@A", "name=[允恭=ja:%%<允恭天皇>];0412-12"],
|
47
|
-
["[<安康>=ja:%%<安康天皇>]0", "@A", "name=[安康=ja:%%<安康天皇>];0453-12-14^ChineseTwin::元嘉暦"],
|
48
|
-
["[<雄略>=ja:%%<雄略天皇>]0", "@A", "name=[雄略=ja:%%<雄略天皇>];0456-11-13"],
|
49
|
-
["[<清寧>=ja:%%<清寧天皇>]1", "@A", "name=[清寧=ja:%%<清寧天皇>];0480-01-15"],
|
50
|
-
["[<顕宗>=ja:%%<顕宗天皇>]1", "@A", "name=[顕宗=ja:%%<顕宗天皇>];0485-01-01"],
|
51
|
-
["[<仁賢>=ja:%%<仁賢天皇>]1", "@A", "name=[仁賢=ja:%%<仁賢天皇>];0488-01-05"],
|
52
|
-
["[<武烈>=ja:%%<武烈天皇>]0", "@A", "name=[武烈=ja:%%<武烈天皇>];0498-12"],
|
53
|
-
["[<継体>=ja:%%<継体天皇>]1", "@A", "name=[継体=ja:%%<継体天皇>];0507-02-04"],
|
54
|
-
["[<安閑>=ja:%%<安閑天皇>]1", "@A", "name=[安閑=ja:%%<安閑天皇>];0534"],
|
55
|
-
["[<宣化>=ja:%%<宣化天皇>]0", "@A", "name=[宣化=ja:%%<宣化天皇>];0535-12"],
|
56
|
-
["[<欽明>=ja:%%<欽明天皇>]0", "@A", "name=[欽明=ja:%%<欽明天皇>];0539-12-05"],
|
57
|
-
["[<敏達>=ja:%%<敏達天皇>]1", "@A", "name=[敏達=ja:%%<敏達天皇>];0572-04-03"],
|
58
|
-
["[<用明>=ja:%%<用明天皇>]0", "@A", "name=[用明=ja:%%<用明天皇>];0585-09-05"],
|
59
|
-
["[<崇峻>=ja:%%<崇峻天皇>]0", "@A", "name=[崇峻=ja:%%<崇峻天皇>];0587-08-02"],
|
60
|
-
["[<推古>=ja:%%<推古天皇>]0", "@A", "name=[推古=ja:%%<推古天皇>];0592-12-08"],
|
61
|
-
["[<舒明>=ja:%%<舒明天皇>]1", "@A", "name=[舒明=ja:%%<舒明天皇>];0629-01-04"],
|
62
|
-
["[<皇極>=ja:%%<皇極天皇>]1", "@A", "name=[皇極=ja:%%<皇極天皇>];0642-01-15"],
|
63
|
-
["[大化]1", "@A", "name=[孝徳=ja:%%<孝徳天皇>];0645-06-19"],
|
64
|
-
["[白雉]1", "@FE", " 0650-02-15"],
|
65
|
-
["[<斉明>=ja:%%<皇極天皇>]1", "@A", "name=[斉明=ja:%%<皇極天皇>];0655-01-03"],
|
66
|
-
["[<天智>=ja:%%<天智天皇>]1", "@A", "name=[天智=ja:%%<天智天皇>];0662-01-01"],
|
67
|
-
["[<天武>=ja:%%<天武天皇>]1", "@A", "name=[天武=ja:%%<天武天皇>];0672-01-01"],
|
68
|
-
["[朱鳥]1", "", "0686-07-20", "0687-01-01"]
|
69
|
-
]]
|
70
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
+
=end
|
7
|
+
|
8
|
+
class When::TM::CalendarEra
|
9
|
+
|
10
|
+
#
|
11
|
+
# 皇紀
|
12
|
+
#
|
13
|
+
NihonKoki = [self, [
|
14
|
+
"locale:[=ja:, en=en:, alias]",
|
15
|
+
"area:[日本]",
|
16
|
+
["[皇紀=ja:%%<神武天皇即位紀元>]1", "@A", "-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
17
|
+
["[皇紀=ja:%%<神武天皇即位紀元>]1114", "@CR", "0454-01-01^Japanese"],
|
18
|
+
["[皇紀=ja:%%<神武天皇即位紀元>]2533", "@CR", "1873-01-01^Gregorian"]
|
19
|
+
]]
|
20
|
+
|
21
|
+
#
|
22
|
+
# 日本書紀暦日
|
23
|
+
#
|
24
|
+
NihonShoki = [self, [
|
25
|
+
"locale:[=ja:, en=en:, alias]",
|
26
|
+
"period:[日本(日本書紀)=ja:%%<日本書紀>, (Nihon_Shoki)=en:Nihon_Shoki]",
|
27
|
+
["[<神武>=ja:%%<神武天皇>]1", "@A", "name=[神武=ja:%%<神武天皇>];-659-01-01^JapaneseTwin::平朔儀鳳暦"],
|
28
|
+
["[<綏靖>=ja:%%<綏靖天皇>]1", "@A", "name=[綏靖=ja:%%<綏靖天皇>];-580-01-08"],
|
29
|
+
["[<安寧>=ja:%%<安寧天皇>]0", "@A", "name=[安寧=ja:%%<安寧天皇>];-548-07-03"],
|
30
|
+
["[<懿徳>=ja:%%<懿徳天皇>]1", "@A", "name=[懿徳=ja:%%<懿徳天皇>];-509-02-04"],
|
31
|
+
["[<孝昭>=ja:%%<孝昭天皇>]1", "@A", "name=[孝昭=ja:%%<孝昭天皇>];-474-01-09"],
|
32
|
+
["[<孝安>=ja:%%<孝安天皇>]1", "@A", "name=[孝安=ja:%%<孝安天皇>];-391-01-07"],
|
33
|
+
["[<孝霊>=ja:%%<孝霊天皇>]1", "@A", "name=[孝霊=ja:%%<孝霊天皇>];-289-01-12"],
|
34
|
+
["[<孝元>=ja:%%<孝元天皇>]1", "@A", "name=[孝元=ja:%%<孝元天皇>];-213-01-14"],
|
35
|
+
["[<開化>=ja:%%<開化天皇>]0", "@A", "name=[開化=ja:%%<開化天皇>];-157-11-12"],
|
36
|
+
["[<崇神>=ja:%%<崇神天皇>]1", "@A", "name=[崇神=ja:%%<崇神天皇>];-096-01-13"],
|
37
|
+
["[<垂仁>=ja:%%<垂仁天皇>]1", "@A", "name=[垂仁=ja:%%<垂仁天皇>];-028-01-02"],
|
38
|
+
["[<景行>=ja:%%<景行天皇>]1", "@A", "name=[景行=ja:%%<景行天皇>];0071-07-11"],
|
39
|
+
["[<成務>=ja:%%<成務天皇>]1", "@A", "name=[成務=ja:%%<成務天皇>];0131-01-05"],
|
40
|
+
["[<仲哀>=ja:%%<仲哀天皇>]1", "@A", "name=[仲哀=ja:%%<仲哀天皇>];0192-01-11"],
|
41
|
+
["[<神功皇后>=ja:%%<神功皇后>]0", "@A","name=[神功皇后=ja:%%<神功皇后>];0200-02-07"],
|
42
|
+
["[<応神>=ja:%%<応神天皇>]1", "@A", "name=[応神=ja:%%<応神天皇>];0270-01-01"],
|
43
|
+
["[<仁徳>=ja:%%<仁徳天皇>]1", "@A", "name=[仁徳=ja:%%<仁徳天皇>];0313-01-03"],
|
44
|
+
["[<履中>=ja:%%<履中天皇>]1", "@A", "name=[履中=ja:%%<履中天皇>];0400-02-01"],
|
45
|
+
["[<反正>=ja:%%<反正天皇>]1", "@A", "name=[反正=ja:%%<反正天皇>];0406-01-02"],
|
46
|
+
["[<允恭>=ja:%%<允恭天皇>]1", "@A", "name=[允恭=ja:%%<允恭天皇>];0412-12"],
|
47
|
+
["[<安康>=ja:%%<安康天皇>]0", "@A", "name=[安康=ja:%%<安康天皇>];0453-12-14^ChineseTwin::元嘉暦"],
|
48
|
+
["[<雄略>=ja:%%<雄略天皇>]0", "@A", "name=[雄略=ja:%%<雄略天皇>];0456-11-13"],
|
49
|
+
["[<清寧>=ja:%%<清寧天皇>]1", "@A", "name=[清寧=ja:%%<清寧天皇>];0480-01-15"],
|
50
|
+
["[<顕宗>=ja:%%<顕宗天皇>]1", "@A", "name=[顕宗=ja:%%<顕宗天皇>];0485-01-01"],
|
51
|
+
["[<仁賢>=ja:%%<仁賢天皇>]1", "@A", "name=[仁賢=ja:%%<仁賢天皇>];0488-01-05"],
|
52
|
+
["[<武烈>=ja:%%<武烈天皇>]0", "@A", "name=[武烈=ja:%%<武烈天皇>];0498-12"],
|
53
|
+
["[<継体>=ja:%%<継体天皇>]1", "@A", "name=[継体=ja:%%<継体天皇>];0507-02-04"],
|
54
|
+
["[<安閑>=ja:%%<安閑天皇>]1", "@A", "name=[安閑=ja:%%<安閑天皇>];0534"],
|
55
|
+
["[<宣化>=ja:%%<宣化天皇>]0", "@A", "name=[宣化=ja:%%<宣化天皇>];0535-12"],
|
56
|
+
["[<欽明>=ja:%%<欽明天皇>]0", "@A", "name=[欽明=ja:%%<欽明天皇>];0539-12-05"],
|
57
|
+
["[<敏達>=ja:%%<敏達天皇>]1", "@A", "name=[敏達=ja:%%<敏達天皇>];0572-04-03"],
|
58
|
+
["[<用明>=ja:%%<用明天皇>]0", "@A", "name=[用明=ja:%%<用明天皇>];0585-09-05"],
|
59
|
+
["[<崇峻>=ja:%%<崇峻天皇>]0", "@A", "name=[崇峻=ja:%%<崇峻天皇>];0587-08-02"],
|
60
|
+
["[<推古>=ja:%%<推古天皇>]0", "@A", "name=[推古=ja:%%<推古天皇>];0592-12-08"],
|
61
|
+
["[<舒明>=ja:%%<舒明天皇>]1", "@A", "name=[舒明=ja:%%<舒明天皇>];0629-01-04"],
|
62
|
+
["[<皇極>=ja:%%<皇極天皇>]1", "@A", "name=[皇極=ja:%%<皇極天皇>];0642-01-15"],
|
63
|
+
["[大化]1", "@A", "name=[孝徳=ja:%%<孝徳天皇>];0645-06-19"],
|
64
|
+
["[白雉]1", "@FE", " 0650-02-15"],
|
65
|
+
["[<斉明>=ja:%%<皇極天皇>]1", "@A", "name=[斉明=ja:%%<皇極天皇>];0655-01-03"],
|
66
|
+
["[<天智>=ja:%%<天智天皇>]1", "@A", "name=[天智=ja:%%<天智天皇>];0662-01-01"],
|
67
|
+
["[<天武>=ja:%%<天武天皇>]1", "@A", "name=[天武=ja:%%<天武天皇>];0672-01-01"],
|
68
|
+
["[朱鳥]1", "", "0686-07-20", "0687-01-01"]
|
69
|
+
]]
|
70
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2012-
|
3
|
+
Copyright (C) 2012-2021 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
@@ -32,7 +32,19 @@ class When::CalendarNote
|
|
32
32
|
# 日本暦注の要素
|
33
33
|
#
|
34
34
|
# @private
|
35
|
-
class Note < When::
|
35
|
+
class Note < When::BasicTypes::Object
|
36
|
+
|
37
|
+
include When::CalendarNote::NoteElement
|
38
|
+
|
39
|
+
#
|
40
|
+
# _m17n_form のための要素生成
|
41
|
+
#
|
42
|
+
# @param [Hash] options 下記のとおり
|
43
|
+
# @option options [Symbol] :method :to_m17n なら label を返す、その他は When::Parts::Resource#to_h 参照
|
44
|
+
#
|
45
|
+
def _to_hash_value(options={})
|
46
|
+
options[:method] == :to_m17n ? label : super
|
47
|
+
end
|
36
48
|
end
|
37
49
|
|
38
50
|
#
|
@@ -76,7 +88,7 @@ class When::CalendarNote
|
|
76
88
|
[Note, 0x0003, "label:[天道=]", 'position:暦序', 'suffix:-'], # 14: 支
|
77
89
|
[Note, 0x0003, "label:[人道=]", 'position:暦序', 'suffix:-'], # 15: 支
|
78
90
|
[Note, 0x3FFC, "label:[歳次=]", 'position:暦序', 'suffix:-'], # 16: 支
|
79
|
-
[Note,
|
91
|
+
[Note, 0xFC00, "label:[金神]", 'position:仮名暦', 'suffix:在'], # 17: 干
|
80
92
|
[Note, 0xFFFF, "label:[大小]", 'position:暦序'] # 18: 朔閏表
|
81
93
|
],
|
82
94
|
|
@@ -136,10 +148,10 @@ class When::CalendarNote
|
|
136
148
|
[Note, 0x3FFC, "label:[六十卦=]", 'position:時候'], # 12: 太陽黄経
|
137
149
|
[Note, 0xF800, "label:[節分]", 'position:雑節'], # 13: 立春からの日数
|
138
150
|
[Note, 0xF800, "label:[初午]", 'position:雑節'], # 14: 支 節月 or 暦月
|
139
|
-
[Note,
|
151
|
+
[Note, 0xFC00, "label:[八十八夜]", 'position:雑節'], # 15: 立春からの日数
|
140
152
|
[Note, 0xF800, "label:[入梅]", 'position:雑節'], # 16: 干 太陽黄経
|
141
153
|
[Note, 0xF800, "label:[半夏生]", 'position:雑節'], # 17: 干 太陽黄経
|
142
|
-
[Note,
|
154
|
+
[Note, 0xFC00, "label:[二百十日]", 'position:雑節'], # 18: 立春からの日数
|
143
155
|
[Note, 0xF800, "label:[二百廿日=ja:%%<二百二十日>]", 'position:雑節'], # 19: 立春からの日数
|
144
156
|
|
145
157
|
[Note, 0x3FFC, "label:[大禍=ja:%%<暦注下段>#%.<大禍日>]",
|
@@ -256,7 +268,7 @@ class When::CalendarNote
|
|
256
268
|
[Note, 0xC000, "label:[己巳]", 'position:仮名暦'], # 90: 干支
|
257
269
|
[Note, 0xF800, "label:[庚申待]", 'position:仮名暦'], # 91: 干支
|
258
270
|
[Note, 0xF800, "label:[犯土]", 'position:仮名暦'], # 92: 干支
|
259
|
-
[Note,
|
271
|
+
[Note, 0xFC00, "label:[十方暮]", 'position:仮名暦'], # 93: 干支
|
260
272
|
[Note, 0xF800, "label:[一粒万倍=ja:%%<一粒万倍日>]",
|
261
273
|
'position:仮名暦', 'suffix:日'], # 94: 支 節月
|
262
274
|
[Note, 0x3800, "label:[天福=]", 'position:仮名暦'], # 95: 支 節月
|
@@ -265,7 +277,7 @@ class When::CalendarNote
|
|
265
277
|
[Note, 0xB800, "label:[三隣亡]", 'position:仮名暦'], # 98: 支 節月
|
266
278
|
[Note, 0xF800, "label:[不成就=ja:%%<不成就日>]",
|
267
279
|
'position:仮名暦', 'suffix:日'], # 99: 暦月 暦日/晦日
|
268
|
-
[Note,
|
280
|
+
[Note, 0x3C00, "label:[鬼宿]", 'position:仮名暦'], #100: 廿八宿
|
269
281
|
[Note, 0x3800, "label:[金性=]", 'position:仮名暦'], #101: 支 節月 支 節年
|
270
282
|
[Note, 0x3FFF, "label:[三寶吉=http://kotobank.jp/word/%%<三宝吉日>]",
|
271
283
|
'position:上段 上段 上段 上段'], #102: 干支 節月
|
@@ -274,7 +286,7 @@ class When::CalendarNote
|
|
274
286
|
[Note, 0x3FFF, "label:[雑事吉=]", 'position:雑事吉'], #104: 干支 節月
|
275
287
|
[Note, 0x3FFF, "label:[小字注=]", 'position:下段小字 下段小字 下段小字 下段小字'],#105: 干支 節月
|
276
288
|
[Note, 0xC000, "label:[土用の丑]", 'position:雑節'], #106: 土用の丑
|
277
|
-
[Note, 0xC000, "label:[
|
289
|
+
[Note, 0xC000, "label:[陰陽遁始=]", 'position:民間'], #107: 九星の陰遁・陽遁の折り返し日
|
278
290
|
]
|
279
291
|
]]
|
280
292
|
|
@@ -526,8 +538,8 @@ class When::CalendarNote
|
|
526
538
|
patch = SolarTerms::Patch[result.to_i]
|
527
539
|
return result unless patch
|
528
540
|
num, den = parameter.kind_of?(String) ? parameter.split('/', 2) : parameter
|
529
|
-
num = (num || 0).to_f
|
530
|
-
den = (den || 360).to_f
|
541
|
+
num = (num || @num || 0).to_f
|
542
|
+
den = (den || @den || 360).to_f
|
531
543
|
diff = (num - patch[0] + 1) % den - 1
|
532
544
|
return result if diff == 0
|
533
545
|
patched = result + When::P1D * diff
|
@@ -536,6 +548,9 @@ class When::CalendarNote
|
|
536
548
|
result
|
537
549
|
end
|
538
550
|
|
551
|
+
# 二十四節気のための event_delta の別名
|
552
|
+
alias :term_delta :event_delta
|
553
|
+
|
539
554
|
# 月の位相 => 日時
|
540
555
|
#
|
541
556
|
# @param [When::TM::TemporalPosition] date 探す基準とする日時
|
@@ -576,6 +591,9 @@ class When::CalendarNote
|
|
576
591
|
result
|
577
592
|
end
|
578
593
|
|
594
|
+
# 月の位相のための event_delta の別名
|
595
|
+
alias :phase_delta :event_delta
|
596
|
+
|
579
597
|
private
|
580
598
|
|
581
599
|
# オブジェクトの正規化
|
@@ -722,7 +740,7 @@ class When::CalendarNote
|
|
722
740
|
#
|
723
741
|
# 任意の暦を日本年号付暦日に変換
|
724
742
|
#
|
725
|
-
# @param When::TM::CalDate] date 変換元日付
|
743
|
+
# @param [When::TM::CalDate] date 変換元日付
|
726
744
|
#
|
727
745
|
# @return [When::TM::CalDate] 変換結果
|
728
746
|
#
|
@@ -737,7 +755,7 @@ class When::CalendarNote
|
|
737
755
|
#
|
738
756
|
# 日本年号付暦日か?
|
739
757
|
#
|
740
|
-
# @param When::TM::CalDate] date 確認する日付
|
758
|
+
# @param [When::TM::CalDate] date 確認する日付
|
741
759
|
#
|
742
760
|
# @return [Boolean] true YES / false NO
|
743
761
|
#
|
@@ -780,6 +798,7 @@ class When::CalendarNote
|
|
780
798
|
[ 1,29] => [[1873..1873, When.M17n('JapaneseHoliday::神武天皇即位日')]],
|
781
799
|
[ 1,30] => [[1874..1912, When.M17n('JapaneseHoliday::孝明天皇祭')]],
|
782
800
|
[ 2,11] => [[1874..1948, When.M17n('JapaneseHoliday::紀元節')], [1967..2100, When.M17n('JapaneseHoliday::建国記念の日')]],
|
801
|
+
[ 2,23] => [[2020..2100, When.M17n('JapaneseHoliday::天皇誕生日')]],
|
783
802
|
[ 2,24] => [[1989..1989, When.M17n('JapaneseHoliday::昭和天皇の大喪の礼')]],
|
784
803
|
[ 3, 3] => [[1868..1872, When.M17n('JapaneseHoliday::弥生節句')]],
|
785
804
|
[ 3, 0] => [[1879..1948, When.M17n('JapaneseHoliday::春季皇霊祭')], [1949..2100, When.M17n('JapaneseHoliday::春分の日')]],
|
@@ -787,6 +806,7 @@ class When::CalendarNote
|
|
787
806
|
[ 4,10] => [[1959..1959, When.M17n('JapaneseHoliday::皇太子明仁親王の結婚の儀')]],
|
788
807
|
[ 4,29] => [[1927..1948, When.M17n('JapaneseHoliday::天長節')], [1949..1988, When.M17n('JapaneseHoliday::天皇誕生日')],
|
789
808
|
[1989..2006, When.M17n('JapaneseHoliday::みどりの日')], [2007..2100, When.M17n('JapaneseHoliday::昭和の日')]],
|
809
|
+
[ 5, 1] => [[2019..2019, When.M17n('JapaneseHoliday::即位の日')]],
|
790
810
|
[ 5, 3] => [[1949..2100, When.M17n('JapaneseHoliday::憲法記念日')]],
|
791
811
|
[ 5, 4] => [[2007..2100, When.M17n('JapaneseHoliday::みどりの日')]],
|
792
812
|
[ 5, 5] => [[1868..1872, When.M17n('JapaneseHoliday::端午節句')], [1949..2100, When.M17n('JapaneseHoliday::こどもの日')]],
|
@@ -794,28 +814,35 @@ class When::CalendarNote
|
|
794
814
|
[ 7, 7] => [[1868..1872, When.M17n('JapaneseHoliday::七夕節句')]],
|
795
815
|
[ 7,15] => [[1868..1872, When.M17n('JapaneseHoliday::お盆')]],
|
796
816
|
[ 7,20] => [[1996..2002, When.M17n('JapaneseHoliday::海の日')]],
|
797
|
-
[ 7
|
817
|
+
[ 7,22] => [[2021..2021, When.M17n('JapaneseHoliday::海の日')]],
|
818
|
+
[ 7,23] => [[2020..2020, When.M17n('JapaneseHoliday::海の日')],[2021..2021, When.M17n('JapaneseHoliday::スポーツの日')]],
|
819
|
+
[ 7,-3] => [[2003..2019, When.M17n('JapaneseHoliday::海の日')],[2022..2100, When.M17n('JapaneseHoliday::海の日')]],
|
820
|
+
[ 7,24] => [[2020..2020, When.M17n('JapaneseHoliday::スポーツの日')]],
|
798
821
|
[ 7,30] => [[1913..1926, When.M17n('JapaneseHoliday::明治天皇祭')]],
|
799
822
|
[ 8, 1] => [[1868..1872, When.M17n('JapaneseHoliday::田実節句')]],
|
800
|
-
[ 8,
|
823
|
+
[ 8, 8] => [[2021..2021, When.M17n('JapaneseHoliday::山の日')]],
|
824
|
+
[ 8,10] => [[2020..2020, When.M17n('JapaneseHoliday::山の日')]],
|
825
|
+
[ 8,11] => [[2016..2019, When.M17n('JapaneseHoliday::山の日')],[2022..2100, When.M17n('JapaneseHoliday::山の日')]],
|
801
826
|
[ 8,31] => [[1913..1926, When.M17n('JapaneseHoliday::天長節')]],
|
802
827
|
[ 9, 9] => [[1868..1872, When.M17n('JapaneseHoliday::重陽節句')]],
|
803
828
|
[ 9,15] => [[1966..2002, When.M17n('JapaneseHoliday::敬老の日')]],
|
804
829
|
[ 9,-3] => [[2003..2100, When.M17n('JapaneseHoliday::敬老の日')]],
|
805
830
|
[ 9,17] => [[1874..1878, When.M17n('JapaneseHoliday::神嘗祭')]],
|
806
831
|
[ 9, 0] => [[1878..1947, When.M17n('JapaneseHoliday::秋季皇霊祭')], [1948..2100, When.M17n('JapaneseHoliday::秋分の日')]],
|
832
|
+
[10, 2] => [[1929..1929, When.M17n('JapaneseHoliday::皇大神宮遷御当日')]],
|
807
833
|
[10,10] => [[1966..1999, When.M17n('JapaneseHoliday::体育の日')]],
|
808
|
-
[10,-2] => [[2000..
|
834
|
+
[10,-2] => [[2000..2019, When.M17n('JapaneseHoliday::体育の日')],[2022..2100, When.M17n('JapaneseHoliday::スポーツの日')]],
|
809
835
|
[10,17] => [[1879..1947, When.M17n('JapaneseHoliday::神嘗祭')]],
|
836
|
+
[10,22] => [[2019..2019, When.M17n('JapaneseHoliday::即位礼正殿の儀')]],
|
810
837
|
[10,31] => [[1913..1926, When.M17n('JapaneseHoliday::天長節祝日')]],
|
811
838
|
[11, 3] => [[1873..1911, When.M17n('JapaneseHoliday::天長節')], [1927..1947, When.M17n('JapaneseHoliday::明治節')],
|
812
839
|
[1948..2100, When.M17n('JapaneseHoliday::文化の日')]],
|
813
840
|
[11,10] => [[1915..1915, When.M17n('JapaneseHoliday::即位の礼')], [1928..1928, When.M17n('JapaneseHoliday::即位の礼')]],
|
814
|
-
[11,12] => [[1990..1990, When.M17n('JapaneseHoliday
|
841
|
+
[11,12] => [[1990..1990, When.M17n('JapaneseHoliday::即位礼正殿の儀')]],
|
815
842
|
[11,14] => [[1915..1915, When.M17n('JapaneseHoliday::大嘗祭')], [1928..1928, When.M17n('JapaneseHoliday::大嘗祭')]],
|
816
843
|
[11,16] => [[1915..1915, When.M17n('JapaneseHoliday::大饗第1日')], [1928..1928, When.M17n('JapaneseHoliday::大饗第1日')]],
|
817
844
|
[11,23] => [[1873..1947, When.M17n('JapaneseHoliday::新嘗祭')], [1948..2100, When.M17n('JapaneseHoliday::勤労感謝の日')]],
|
818
|
-
[12,23] => [[1989..
|
845
|
+
[12,23] => [[1989..2018, When.M17n('JapaneseHoliday::天皇誕生日')]],
|
819
846
|
[12,25] => [[1927..1947, When.M17n('JapaneseHoliday::大正天皇祭')]]
|
820
847
|
}
|
821
848
|
|
@@ -1253,7 +1280,19 @@ class When::CalendarNote
|
|
1253
1280
|
2396063 => [315.0, 1], # 弘化05(1848).01.01 [315.0, 0] 没
|
1254
1281
|
|
1255
1282
|
2397583 => [ 15.0, 1], # 嘉永05(1852).02=15 [ 14.0, 0] 没
|
1256
|
-
2397584 => [ 16.0, 0]
|
1283
|
+
2397584 => [ 16.0, 0], # 嘉永05(1852).02=16 [ 15.0, 1] 清明 (計算誤差の補正)
|
1284
|
+
|
1285
|
+
2451110 => [210.0, 1], # 平成10(1998).10.23 [209.0, 0] 没
|
1286
|
+
2451111 => [211.0, 0], # 平成10(1998).10.24 [210.0, 1] 霜降 (計算誤差の補正)
|
1287
|
+
|
1288
|
+
2459950 => [284.0, 0], # 令和05(2023).01.05 [285.0, 1] 小寒 (計算誤差の補正)
|
1289
|
+
2459951 => [285.0, 1], # 令和05(2023).01.06 [285.0, 0] 没
|
1290
|
+
|
1291
|
+
2460651 => [254.0, 0], # 令和06(2024).12.06 [255.0, 1] 大雪 (計算誤差の補正)
|
1292
|
+
2460652 => [255.0, 1], # 令和06(2024).12.07 [255.0, 0] 没
|
1293
|
+
|
1294
|
+
2461031 => [269.0, 0], # 令和07(2025).12.21 [270.0, 1] 冬至 (計算誤差の補正)
|
1295
|
+
2461032 => [270.0, 1] # 令和07(2025).12.22 [270.0, 0] 没
|
1257
1296
|
}
|
1258
1297
|
|
1259
1298
|
class << self
|