Class: When::CalendarTypes::CalendarNote::SolarTerms
- Inherits:
-
LuniSolarPositions
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- When::CalendarTypes::CalendarNote
- LuniSolarPositions
- When::CalendarTypes::CalendarNote::SolarTerms
- Defined in:
- lib/when_exe/calendartypes.rb,
lib/when_exe/region/japanese_notes.rb
Overview
太陽黄経による暦注
Constant Summary collapse
- Notes12 =
%w(正月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月)
- Notes60_A =
[ # +0 '侯小過外', # 315 : 正月 '侯需外', # 345 : 二月 '侯豫外', # 15 : 三月 '侯旅外', # 45 : 四月 '侯大有外', # 75 : 五月 '侯鼎外', # 105 : 六月 '侯常外', # 135 : 七月 '侯巽外', # 165 : 八月 '侯帰妹外', # 195 : 九月 '侯良外', # 225 : 十月 '侯未済外', # 255 : 十一月 '侯屯外' # 285 : 十二月 ]
- Notes60_B =
[ # +3 +9 +15 +21 +27 '大夫蒙', '卿益', '公漸', '辟泰', '侯需内', # 315 : 正月 '大夫随', '卿晋', '公解', '辟大壮', '侯豫内', # 345 : 二月 '大夫訟', '卿蠱', '公革', '辟夬', '侯旅内', # 15 : 三月 '大夫師', '卿比', '公小畜', '辟乾', '侯大有内', # 45 : 四月 '大夫家人', '卿井', '公咸', '辟女后', '侯鼎内', # 75 : 五月 '大夫豊', '卿渙', '公履', '辟遁', '侯常内', # 105 : 六月 '大夫節', '卿同人', '公損', '辟否', '侯巽内', # 135 : 七月 '大夫萃', '卿大畜', '公賁', '辟観', '侯帰妹内', # 165 : 八月 '大夫無妄', '卿明夷', '公因', '辟剥', '侯良内', # 195 : 九月 '大夫既済', '卿噬嗑', '公大過', '辟坤', '侯未済内', # 225 : 十月 '大不蹇', '卿頤', '公中孚', '辟復', '侯屯内', # 255 : 十一月 '大夫謙', '卿睽', '公升', '辟臨', '侯小過内' # 285 : 十二月 ]
- Notes72 =
[ # 宣明暦(中国) 宣明暦 貞享暦 宝暦暦・寛政暦 略本暦 # 315 : 正月 %w(東風解凍 東風解凍 東風解凍 東風解凍 東風解凍), %w(蟄始振 蟄虫始振 梅花乃芳 黄鶯睍睆 黄鶯睍睆), %w(魚上氷 魚上氷 魚上氷 魚上氷 魚上氷), %w(獺祭魚 獺祭魚 土脈潤起 土脈潤起 土脉潤起), %w(鴻雁来 鴻雁来 霞彩碧空 霞始靆 霞始靆), %w(草木萌動 草木萌動 草木萌動 草木萌動 草木萌動), # 345 : 二月 %w(桃始華 桃始華 蟄虫啓戸 蟄虫啓戸 蟄虫啓戸), %w(倉庚鳴 倉庚鳴 寒雨間熟 桃始笑 桃始笑), %w(鷹化為鳩 鷹化為鳩 菜虫化蝶 菜虫化蝶 菜虫化蝶), %w(玄鳥至 玄鳥至 雀始巣 雀始巣 雀始巣), %w(雷乃発声 雷乃発声 雷乃発声 桜始開 桜始開), %w(始電 始電 桜始開桃始笑 雷乃発声 雷乃発声), # 15 : 三月 %w(桐始華 桐始華 玄鳥至 玄鳥至 玄鳥至), %w(田鼠化為鴑 田鼠化為鴑 鴻雁北 鴻雁北 鴻雁北), %w(虹始見 虹始見 虹始見 虹始見 虹始見), %w(萍始生 萍始生 葭始生 葭始生 葭始生), %w(鳴鳩払其羽 鳴鳩払其羽 牡丹華 霜止出苗 霜止出苗), %w(戴勝降桑 戴勝降桑 霜止出苗 牡丹華 牡丹華), # 45 : 四月 %w(螻蟈鳴 螻蟈鳴 鵑始鳴 鼃始鳴 鼃始鳴), %w(蚯蚓出 蚯蚓出 蚯蚓出 蚯蚓出 蚯蚓出), %w(王瓜生 王瓜生 竹笋生 竹笋生 竹笋生), %w(苦菜秀 苦菜秀 蚕起食桑 蚕起食桑 蚕起食桑), %w(靡草死 靡草死 紅花栄 紅花栄 紅花栄), %w(小暑至 小暑至 麦秋至 麦秋至 麦秋至), # 75 : 五月 %w(蟷螂生 蟷螂生 螳螂生 螳螂生 螳螂生), %w(鵙始鳴 鵙始鳴 腐草為螢 腐草為螢 腐草為螢), %w(反舌無声 反舌無声 梅始黄 梅子黄 梅子黄), %w(鹿角解 鹿角解 乃東枯 乃東枯 乃東枯), %w(蝉始鳴 蝉始鳴 分龍雨 菖蒲華 菖蒲華), %w(半夏生 半夏生 半夏生 半夏生 半夏生), # 105 : 六月 %w(温風至 温風至 温風至 温風至 温風至), %w(蟋蟀居壁 蟋蟀居壁 蓮始華 蓮始華 蓮始開), %w(鷹乃学習 鷹乃学習 鷹乃学習 鷹乃学習 鷹乃学習), %w(腐草為螢 腐草為螢 桐始結花 桐始結花 桐始結花), %w(土潤溽暑 土潤溽暑 土潤溽暑 土潤溽暑 土潤溽暑), %w(大雨時行 大雨時行 大雨時行 大雨時行 大雨時行), # 135 : 七月 %w(涼風至 涼風至 涼風至 涼風至 涼風至), %w(白露降 白露降 山沢浮雲 寒蝉鳴 寒蝉鳴), %w(寒蝉鳴 寒蝉鳴 霧色已成 蒙霧升降 蒙霧升降), %w(鷹乃祭鳥 鷹乃祭鳥 寒蝉鳴 綿柎開 綿柎開), %w(天地始粛 天地始粛 天地始粛 天地始粛 天地始粛), %w(禾乃登 禾乃登 禾乃登 禾乃登 禾乃登), # 165 : 八月 %w(鴻雁来 鴻雁来 草露白 草露白 草露白), %w(玄鳥帰 玄鳥帰 鶺鴒鳴 鶺鴒鳴 鶺鴒鳴), %w(群鳥養羞 群鳥養羞 玄鳥去 玄鳥去 玄鳥去), %w(雷乃収声 雷乃収声 鴻雁来 雷乃収声 雷乃収声), %w(蟄虫坏戸 蟄虫坏戸 蟄虫坏戸 蟄虫坏戸 蟄虫坏戸), %w(水始涸 水始涸 水始涸 水始涸 水始涸), # 195 : 九月 %w(鴻雁来賓 鴻雁来賓 棗栗零 鴻雁来 鴻雁来), %w(雀入大水為蛤 雀入大水為蛤 蟋蟀在戸 菊花開 菊花開), %w(菊有黄花 菊有黄花 菊花開 蟋蟀在戸 蟋蟀在戸), %w(豺乃祭獣 豺祭獣 霜始降 霜始降 霜始降), %w(草木黄落 草木黄落 蔦楓紅葉 霎時施 霎時施), %w(蟄虫咸俯 蟄虫咸俯 鶯雛鳴 楓蔦黄 楓蔦黄), # 225 : 十月 %w(水始氷 水始氷 山茶始開 山茶始開 山茶始開), %w(地始凍 地始凍 地始凍 地始凍 地始凍), %w(野鶏入大水為蜃 野鶏入大水為蜃 霎乃降 金盞香 金盞香), %w(虹蔵不見 虹蔵不見 虹蔵不見 虹蔵不見 虹蔵不見), %w(天気上騰地気下降 天気上騰地気下降 樹葉咸落 朔風払葉 朔風払葉), %w(閉塞而成冬 閉塞成冬 橘始黄 橘始黄 橘始黄), # 255 : 十一月 %w(鶡鳥不鳴 鶡鳥不鳴 閉塞成冬 閉塞成冬 閉塞成冬), %w(虎始交 武始交 熊蟄穴 熊蟄穴 熊蟄穴), %w(茘挺生 茘挺生 水仙開 鱖魚群 鱖魚群), %w(蚯蚓結 蚯蚓結 乃東生 乃東生 乃東生), %w(麋角解 麋角解 麋角解 麋角解 麋角解), %w(水泉動 水泉動 雪下出麦 雪下出麦 雪下出麦), # 285 : 十二月 %w(雁北嚮 雁北嚮 芹乃栄 芹乃栄 芹乃栄), %w(鵲始巣 鵲始巣 風気乃行 水泉動 水泉動), %w(野鶏始鴝 野鶏始鴝 雉始雊 雉始雊 雉始雊), %w(鶏始乳 鶏始乳 款冬華 款冬華 款冬華), %w(鷙鳥厲疾 鷙鳥厲疾 水沢腹堅 水沢腹堅 水沢腹堅), %w(水沢腹堅 水沢腹堅 鶏始乳 鶏始乳 鶏始乳)
Constants inherited from When::CalendarTypes::CalendarNote
BahaiNotes, ChineseNotes, DefaultNotes, JavaneseNotes, JulianDayNotes, MayanNotes, YiNotes
Constants included from Parts::Resource
Parts::Resource::LabelProperty, Parts::Resource::Prefix, Parts::Resource::PrefixIndex, Parts::Resource::PrefixKeys, Parts::Resource::PrefixValues
Instance Attribute Summary
Attributes inherited from LuniSolarPositions
#delta, #den, #formula, #margin, #num
Attributes inherited from When::CalendarTypes::CalendarNote
Attributes inherited from TM::ReferenceSystem
#domain, #domain_of_validity, #position
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Class Method Summary collapse
Methods inherited from LuniSolarPositions
Methods inherited from When::CalendarTypes::CalendarNote
#copy, #day, #duration, #enum_for, #include?, #month, #note?, #notes, #year
Methods inherited from TM::ReferenceSystem
Methods inherited from BasicTypes::Object
Methods included from Parts::Resource
#[], #^, _extract_prefix, _instance, _parse, _path_with_prefix, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?
Methods included from Parts::Resource::Pool
#[], #[]=, #_pool, #_setup_, #pool_keys
Methods included from Parts::Resource::Synchronize
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class When::Parts::Resource
Class Method Details
._day_notes(notes, dates, conditions = {}) ⇒ Object
日の暦注
851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 |
# File 'lib/when_exe/region/japanese_notes.rb', line 851 def self._day_notes(notes, dates, conditions={}) date = When.when?(dates.o_date.to_cal_date.to_s, {:clock=>When.Clock(dates.s_date.frame.timezone[0]*86400)}) longitude, motsu = dates.s_terms.position(date) # 三伏 - 庚 # # 初 : 夏至から 20..29 # 仲 : 夏至から 30..39 # 後 : 立秋から 0..9 if !notes['三伏'] && notes['干'].remainder == 6 # 庚 if 109 <= longitude && longitude <= 129 # 夏至から term = dates.s_terms.term(date, [-270,360]) diff = dates.s_date.to_i - term.to_i notes['三伏'] = '初伏' if 20 <= diff && diff <= 29 notes['三伏'] = '中伏' if 30 <= diff && diff <= 39 elsif longitude == 135 # 立秋 notes['三伏'] = '末伏' elsif 136 <= longitude && longitude <= 144 # 立秋から term = dates.s_terms.term(date, [-225,360]) diff = dates.s_date.to_i - term.to_i notes['三伏'] = '末伏' if 0 < diff && diff <= 9 end end # 社 - 戊 # # 春秋分から -5..4 if !notes['社'] && notes['干'].remainder == 4 # 戊 if (longitude + 5) % 180 < 10 # 春秋分の近傍 term = dates.s_terms.term(date - When.Duration('P6D'), [0,180]) diff = dates.s_date.to_i - term.to_i notes['社'] = '社' if -5 <= diff && diff <= 4 end end # 臘 - 辰 # # 大寒から -6..5 if !notes['臘'] && notes['支'].remainder == 4 # 辰 if (longitude - 339) % 360 < 12 # 大寒の近傍 term = dates.s_terms.term(date - When.Duration('P7D'), [345,360]) diff = dates.s_date.to_i - term.to_i notes['臘'] = '臘' if -6 <= diff && diff <= 5 end end # 入梅 - 壬 # # 芒種から 0..11 if !notes['入梅'] && notes['干'].remainder == 8 # 壬 if (longitude - 120) % 360 < 10 # 芒種の近傍 term = dates.s_terms.term(date - When.Duration('P1D'), [120,360]) diff = dates.s_date.to_i - term.to_i notes['入梅'] = '入梅' if 0 <= diff && diff <= 11 end end # 土用事 unless notes['土用事'] _longitude, _motsu = dates.doyo ? dates.s_terms.position(date, -dates.doyo) : [longitude, motsu] if _motsu != 0 && _longitude % 90 == 27 notes['土用事'] = (dates.year < 697) ? '土用' : # 元嘉暦以前 (dates.year < 764) ? '土王' : # 麟徳暦 (dates.year < 1685) ? '土用事' : # 大衍暦~宣明暦 '土用入' # 貞享暦以降 end end # 没 if motsu == 0 notes['没'] = '没' if dates.year < 1685 return notes end # 伏龍 notes['伏龍'] ||= { 315 => '庭内去堂', 15 => '門内百日', 115 => '東垣六十日', 175 => '四隅百日', 275 => '竈内四十日' }[longitude] # 廿四節気 div, mod = longitude.divmod(15) if mod == 0 notes['廿四節気'] = (div - 21) % 24 div, mod = notes['廿四節気'].divmod(2) notes['節中'] ||= Notes12[div] + %w(節 中)[mod] end # 六十卦 div, mod = longitude.divmod(30) notes['六十卦'] ||= mod == 15 ? Notes60_A[(div - 10) % 12] : nil div, mod = longitude.divmod(6) notes['六十卦'] ||= mod == 0 ? Notes60_B[(div - 53) % 60] : nil # 七十二候 div, mod = longitude.divmod(5) notes['七十二候'] ||= mod == 0 ? Notes72[(div - 63) % 72][dates.index_s] : nil # 彼岸 notes['彼岸'] ||= longitude % 180 == 2 ? '彼岸' : nil # 往亡 month = dates.s_date.cal_date[1] - 1 div, mod = month.divmod(3) notes['往亡'] ||= ((div+7)*(mod+1) + month * 30 + 314 - longitude) % 360 == 0 ? '往亡' : nil # 日食 notes['日食'] = nil # 計算できないので、偽としておく notes end |