Class: When::CalendarNote::Japanese
- Inherits:
-
When::CalendarNote
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- When::CalendarNote
- When::CalendarNote::Japanese
- Defined in:
- lib/when_exe/region/japanese/notes.rb
Overview
日本暦注
Defined Under Namespace
Modules: Eclipse, Index Classes: Cal4Note, Dates, LunarPhases, Note, SolarTerms, SolarTermsRevised
Constant Summary collapse
- Notes =
日本暦注の要素
[When::BasicTypes::M17n, [ "locale:[=ja:, en=en:]", "names:[日本暦注=]", # 年の暦注 ---------------------------- [When::BasicTypes::M17n, "names:[年の暦注=, note for year=, prefix:YearNote=, *alias:年]", [Note, 0xFFFF, "label:[干支]", 'position:共通'], # 0: 干支 # [Note, 0xFFFF, "label:[干=ja:%%<十干>]", # 'position:共通'], # 干 # [Note, 0xFFFF, "label:[支=ja:%%<十二支>]", # 'position:共通'], # 支 [Note, 0x3800, "label:[廿八宿=ja:%%<二十八宿>]", 'position:共通'], # 1: 廿八宿 [Note, 0x3FFC, "label:[大歳壇=]", 'position:暦序'], # 2: 干支 [Note, 0xC000, "label:[九星]", 'position:民間'], # 3: 九星 [Note, 0xFFFC, "label:[納音]", 'position:暦序', 'suffix:是'], # 4: 干支 [Note, 0xFFFF, "label:[大歳=ja:%%<太歳神>]", 'position:暦序', 'suffix:在'], # 5: 干支 [Note, 0xFFFF, "label:[大將軍=ja:%%<大将軍_(方位神)>]", 'position:暦序', 'suffix:在'], # 6: 支 [Note, 0xFFFF, "label:[大陰=ja:%%<太陰神>]", 'position:暦序', 'suffix:在'], # 7: 支 [Note, 0xFFFF, "label:[歳徳=ja:%%<歳徳神>]", 'position:暦序', 'suffix:在'], # 8: 干 [Note, 0xFFFF, "label:[歳刑=ja:%%<歳刑神>]", 'position:暦序', 'suffix:在'], # 9: 支 [Note, 0xFFFF, "label:[歳破=ja:%%<歳破神>]", 'position:暦序', 'suffix:在'], # 10: 支 [Note, 0xFFFF, "label:[歳煞=ja:%%<歳殺神>]", 'position:暦序', 'suffix:在'], # 11: 支 [Note, 0xFFFF, "label:[黄幡=ja:%%<黄幡神>]", 'position:暦序', 'suffix:在'], # 12: 支 [Note, 0xFFFF, "label:[豹尾=ja:%%<豹尾神>]", 'position:暦序', 'suffix:在'], # 13: 支 [Note, 0x0003, "label:[天道=]", 'position:暦序', 'suffix:-'], # 14: 支 [Note, 0x0003, "label:[人道=]", 'position:暦序', 'suffix:-'], # 15: 支 [Note, 0x3FFC, "label:[歳次=]", 'position:暦序', 'suffix:-'], # 16: 支 [Note, 0xF800, "label:[金神]", 'position:仮名暦', 'suffix:在'], # 17: 干 [Note, 0xFFFF, "label:[大小]", 'position:暦序'] # 18: 朔閏表 ], # 月の暦注 ---------------------------- [When::BasicTypes::M17n, "names:[月の暦注=, note for month=, prefix:MonthNote=, *alias:月]", [Note, 0xFFFF, "label:[月名=ja:%%<月_(暦)>#%.<日本の和風月名>, Month]", 'position:月建'], # 0: 月の和名 # [Note, 0xFFFF, "label:[干支]", 'position:共通'], # 干支 # [Note, 0xFFFF, "label:[干=ja:%%<十干>]", # 'position:共通'], # 干 # [Note, 0xFFFF, "label:[支=ja:%%<十二支>]", # 'position:共通'], # 支 [Note, 0xF800, "label:[廿八宿=ja:%%<二十八宿>]", 'position:共通'], # 1: 廿八宿 [Note, 0xFFFC, "label:[月建=]", 'position:月建', 'suffix:-' ], # 2: 年の十干と暦月 [Note, 0xC000, "label:[九星]", 'position:民間'], # 3: 九星 [Note, 0x0003, "label:[天氣=]", 'position:月建', 'suffix:-' ], # 4: 暦月 [Note, 0x3FFF, "label:[天道=]", 'position:月建', 'suffix:-' ], # 5: 暦月 [Note, 0x0003, "label:[人道=]", 'position:月建', 'suffix:-' ], # 6: 暦月 [Note, 0x0003, "label:[月破=]", 'position:月建', 'suffix:在'], # 7: 暦月 [Note, 0x3FFC, "label:[天徳=]", 'position:月建', 'suffix:在'], # 8: 暦月 [Note, 0x3FFF, "label:[月煞=]", 'position:月建', 'suffix:在'], # 9: 暦月 [Note, 0x3FFF, "label:[用時=]", 'position:月建', 'suffix:-' ], # 10: 暦月 [Note, 0x3FFF, "label:[月徳=]", 'position:月建', 'suffix:在'], # 11: 暦月 [Note, 0x3FFC, "label:[月徳合=]", 'position:月建', 'suffix:在'], # 12: 暦月 [Note, 0x3FFC, "label:[月空=]", 'position:月建', 'suffix:在'], # 13: 暦月 [Note, 0x3FFF, "label:[三鏡=]", 'position:月建', 'suffix:-' ], # 14: 暦月 [Note, 0x3FFF, "label:[土府=]", 'position:月建', 'suffix:在'], # 15: 暦月 [Note, 0x3FFC, "label:[土公=ja:%%<土公神>]", 'position:月建', 'suffix:在'], # 16: 暦月 [Note, 0xFFFF, "label:[大小]", 'position:月建'] # 17: 朔閏表 ], # 日の暦注 ---------------------------- [When::BasicTypes::M17n, "names:[日の暦注=, note for day=, prefix:DayNote=, *alias:日]", [Note, 0xFFFF, "label:[干支]", 'position:共通'], # 0: 干支 # [Note, 0x, "label:[干=ja:%%<十干>]", # 'position:共通'], # 干 # [Note, 0x, "label:[支=ja:%%<十二支>]", # 'position:共通'], # 支 [Note, 0x3FFF, "label:[納音]", 'position:共通', 'suffix:是'], # 1: 干支 [Note, 0xFFFF, "label:[十二直]", 'position:共通'], # 2: 支 節月 [Note, 0xFFFF, "label:[七曜]", 'position:共通'], # 3: 七曜 [Note, 0xF800, "label:[廿八宿=ja:%%<二十八宿>]", 'position:共通'], # 4: 廿八宿 [Note, 0x07F8, "label:[廿七宿=ja:%%<二十八宿>]", 'position:共通'], # 5: 暦月 暦日 [Note, 0xC000, "label:[九星]", 'position:民間'], # 6: 九星 [Note, 0x8000, "label:[六曜]", 'position:民間'], # 7: 暦月 暦日 [Note, 0xE000, "label:[祝祭日]", 'position:祝祭日'], # 8: 暦月 暦日 (七曜) [Note, 0xFFFF, "label:[廿四節気=ja:%%<二十四節気>]", 'position:時候'], # 9: 太陽黄経 [Note, 0xFFFF, "label:[節中=]", 'position:時候'], # 10: 太陽黄経 [Note, 0xFFFC, "label:[七十二候]", 'position:時候'], # 11: 太陽黄経 [Note, 0x3FFC, "label:[六十卦=]", 'position:時候'], # 12: 太陽黄経 [Note, 0xF800, "label:[節分]", 'position:雑節'], # 13: 立春からの日数 [Note, 0xF800, "label:[初午]", 'position:雑節'], # 14: 支 節月 or 暦月 [Note, 0xF800, "label:[八十八夜]", 'position:雑節'], # 15: 立春からの日数 [Note, 0xF800, "label:[入梅]", 'position:雑節'], # 16: 干 太陽黄経 [Note, 0xF800, "label:[半夏生]", 'position:雑節'], # 17: 干 太陽黄経 [Note, 0xF800, "label:[二百十日]", 'position:雑節'], # 18: 立春からの日数 [Note, 0xF800, "label:[二百廿日=ja:%%<二百二十日>]", 'position:雑節'], # 19: 立春からの日数 [Note, 0x3FFC, "label:[大禍=ja:%%<暦注下段>#%.<大禍日>]", 'position:上段 上段 欄外 欄外', 'suffix:日'], # 20: 支 節月 [Note, 0x3FFC, "label:[滅門=ja:%%<暦注下段>#%.<滅門日>]", 'position:上段 上段 欄外 欄外', 'suffix:日'], # 21: 支 節月 [Note, 0x3FFC, "label:[狼藉=ja:%%<暦注下段>#%.<狼藉日>]", 'position:上段 上段 欄外 欄外', 'suffix:日'], # 22: 支 節月 [Note, 0x07F8, "label:[甘露=]", 'position:上段 上段 上段 上段', 'suffix:日'], # 23: 七曜 廿七宿 [Note, 0x07F8, "label:[金剛峯=]", 'position:上段 上段 上段 上段'], # 24: 七曜 廿七宿 [Note, 0x07F8, "label:[羅刹=]", 'position:上段 上段 上段 上段'], # 25: 七曜 廿七宿 [Note, 0x3FFC, "label:[大將軍=ja:%%<大将軍_(方位神)>]", 'position:上段 上段 上段 上段', 'suffix:-'], # 26: 干支 節年 [Note, 0xFFFC, "label:[天一=ja:%%<天一神>]", 'position:上段 上段 上段 上段', 'suffix:-'], # 27: 干支 [Note, 0x3FFC, "label:[土公=ja:%%<土公神>]", 'position:上段 上段 上段 上段', 'suffix:-'], # 28: 干支 [Note, 0x3FFC, "label:[歳下食=ja:%%<暦注下段>#%.<歳下食>]", 'position:上段 上段 上段 上段'], # 29: 干支 節年 [Note, 0x3FFC, "label:[忌遠行=]", 'position:上段 上段 上段 上段'], # 30: 支 節月 [Note, 0x3FFC, "label:[忌夜行=]", 'position:上段 上段 上段 上段'], # 31: 支 節月 [Note, 0x3FFC, "label:[下食時=ja:%%<暦注下段>#%.<時下食>]", 'position:上段 上段 上段 上段', 'suffix:-'], # 32: 支 節月 貞享暦で一部廃止 [Note, 0x3FFC, "label:[天間=]", 'position:上段 上段 上段 中段上'], # 33: 干支 節月 [Note, 0x3FFC, "label:[不視病=]", 'position:上段 上段 上段 上段'], # 34: 干 [Note, 0x3FFC, "label:[不問疾=]", 'position:上段 上段 上段 上段'], # 35: 干 [Note, 0x3FFC, "label:[不弔人=]", 'position:上段 上段 上段 上段'], # 36: 支 [Note, 0xFFFC, "label:[彼岸]", 'position:仮名暦'], # 37: 太陽黄経 [Note, 0xFFFF, "label:[社=ja:%%<社日>]", 'position:中段 中段 中段 中段', 'suffix:日'], # 38: 干 太陽黄経 [Note, 0xFFFF, "label:[三伏]", 'position:中段 中段 中段 中段'], # 39: 干 太陽黄経 [Note, 0x3FFC, "label:[除手足甲=]", 'position:中段 中段 中段 中段'], # 40: 晦(除手足甲)、支(片方のみ), 没滅凶会日× [Note, 0x3FFC, "label:[沐浴=]", 'position:中段 中段 中段 中段'], # 41: 支 没滅凶会日× [Note, 0xFFFD, "label:[臘=ja:%%<臘日>]", 'position:中段 中段 中段 中段', 'suffix:日'], # 42: 支 太陽黄経 [Note, 0x3FFC, "label:[伐=]", 'position:中段 中段 中段 中段上', 'suffix:日'], # 43: 干支 [Note, 0x3FFC, "label:[五墓=ja:%%<暦注下段>#%.<五墓日>]", 'position:中段 中段 中段 中段下', 'suffix:日'], # 44: 干支 [Note, 0x3FFC, "label:[六蛇=]", 'position:中段 中段 中段 中段上'], # 45: 干支 節月 [Note, 0x3FFC, "label:[七鳥=]", 'position:中段 中段 中段 中段上'], # 46: 干支 節月 [Note, 0x3FFC, "label:[八龍=]", 'position:中段 中段 中段 中段上'], # 47: 干支 節月 [Note, 0x3FFC, "label:[九虎=]", 'position:中段 中段 中段 中段上'], # 48: 干支 節月 [Note, 0x07FF, "label:[没=ja:%%<没日>]", 'position:中段 中段 中段 中段', 'suffix:日'], # 49: 太陽黄経 [Note, 0xFFF8, "label:[日食]", 'position:中段 中段 中段 中段'], # 50: 日食表 [Note, 0x07FC, "label:[滅=ja:%%<滅日>]", 'position:中段 中段 中段 中段', 'suffix:日'], # 51: 月の位相 [Note, 0xFFF8, "label:[月食]", 'position:中段 中段 中段 中段'], # 52: 月食表 [Note, 0xC7FD, "label:[月相]", 'position:中段 中段 中段 中段'], # 53: 月の位相 [Note, 0xFFFF, "label:[土用事=ja:%%<土用>]", 'position:中段 中段 中段 中段'], # 54: 太陽黄経 [Note, 0x3FF0, "label:[伏龍=]", 'position:上段 上段 下段 下段', 'suffix:在'], # 55: 太陽黄経 [Note, 0x3FFF, "label:[凶会=ja:%%<暦注下段>#%.<凶会日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 56: 干支 節月(宣明暦以前)/暦月(貞享暦以降) [Note, 0x3FFF, "label:[大小歳=]", 'position:下段 下段 下段 下段'], # 57: 干支 節月 [Note, 0x3FFC, "label:[歳徳=ja:%%<歳徳神>]", 'position:下段 下段 下段 下段'], # 58: 干 節年 凶会日× ~合も [Note, 0x0003, "label:[天倉=]", 'position:古注'], # 59: 干支 節月 # [Note, 0x0003, "label:[天李=]", 'position:古注'], # 干支 節月? [Note, 0x37FF, "label:[天恩=ja:%%<暦注下段>#%.<天恩日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 60: 干支 節月 凶会日× [Note, 0xFFFF, "label:[天赦=ja:%%<暦注下段>#%.<天赦日>]", 'position:下段 下段 下段 下段'], # 61: 干支 節月 [Note, 0x37FF, "label:[母倉=ja:%%<暦注下段>#%.<母倉日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 62: 支 節月 凶会日× [Note, 0x37FC, "label:[月徳=]", 'position:下段 下段 下段 下段'], # 63: 干 節月 凶会日× ~合も [Note, 0x3FFF, "label:[九坎=]", 'position:下段 下段 下段 下段'], # 64: 支 節月 [Note, 0x3FFF, "label:[歸忌=ja:%%<暦注下段>#%.<帰忌日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 65: 支 節月 [Note, 0x3FFF, "label:[血忌=ja:%%<暦注下段>#%.<血忌日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 66: 支 節月 [Note, 0x3FFC, "label:[無翹=]", 'position:下段 下段 下段 下段'], # 67: 支 節月 [Note, 0x3FFF, "label:[厭=]", 'position:下段 下段 下段 下段'], # 68: 支 節月 [Note, 0x3FFC, "label:[重=ja:%%<暦注下段>#%.<重日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 69: 支 [Note, 0x3FFD, "label:[復=ja:%%<暦注下段>#%.<復日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 70: 干 節月 [Note, 0x3FFC, "label:[月煞=]", 'position:下段 下段 下段 下段'], # 71: 支 節月 [Note, 0x3FFF, "label:[往亡=ja:%%<暦注下段>#%.<往亡日>]", 'position:下段 下段 下段 下段', 'suffix:日'], # 72: 太陽黄経 [Note, 0x3FFF, "label:[日遊=ja:%%<日遊神>]", 'position:最下段', 'suffix:在'], # 73: 干支 [Note, 0x07FF, "label:[人神配当=]", 'position:最下段孟月', 'suffix:-'], # 74: 暦日 [Note, 0x3E00, "label:[受死=ja:%%<暦注下段>#%.<受死日>]", 'position:仮名暦', 'suffix:日'], # 75: 支 節月 [Note, 0xFFF0, "label:[八專]", 'position:仮名暦'], # 76: 干支 [Note, 0x3E00, "label:[八專間日=ja:%%<八専>]", 'position:仮名暦'], # 77: 干支 [Note, 0xC000, "label:[金神間日=ja:%%<金神>#%.<金神の遊行・間日>]", 'position:仮名暦'], # 78: 支 節月 [Note, 0xC000, "label:[金神遊行=ja:%%<金神>#%.<金神の遊行・間日>]", 'position:仮名暦'], # 79: 支 節月 [Note, 0x3FF0, "label:[天火=ja:%%<暦注下段>#%.<天火日>]", 'position:仮名暦', 'suffix:日'], # 80: 支 節月 [Note, 0x3FF0, "label:[地火=ja:%%<暦注下段>#%.<地火日>]", 'position:仮名暦', 'suffix:日'], # 81: 支 節月 [Note, 0x3800, "label:[人火=]", 'position:仮名暦'], # 82: 支 節月 [Note, 0x3800, "label:[雷火=]", 'position:仮名暦'], # 83: 支 節月 [Note, 0x3FF0, "label:[赤舌=ja:%%<赤舌日>]", 'position:仮名暦', 'suffix:日'], # 84: 暦月 暦日 [Note, 0x3E00, "label:[十死=ja:%%<暦注下段>#%.<十死日>]", 'position:仮名暦', 'suffix:日'], # 85: 支 節月 [Note, 0x3E00, "label:[道虚=]", 'position:仮名暦', 'suffix:日'], # 86: 暦日 [Note, 0x3E00, "label:[大明=ja:%%<暦注下段>#%.<大明日>]", 'position:仮名暦', 'suffix:日'], # 87: 干支 [Note, 0x0600, "label:[大赤=ja:%%<赤口日>]", 'position:仮名暦', 'suffix:日'], # 88: 暦月 暦日 [Note, 0xF800, "label:[甲子待=ja:%%<甲子>]", 'position:仮名暦'], # 89: 干支 [Note, 0xC000, "label:[己巳]", 'position:仮名暦'], # 90: 干支 [Note, 0xF800, "label:[庚申待]", 'position:仮名暦'], # 91: 干支 [Note, 0xF800, "label:[犯土]", 'position:仮名暦'], # 92: 干支 [Note, 0xF800, "label:[十方暮]", 'position:仮名暦'], # 93: 干支 [Note, 0xF800, "label:[一粒万倍=ja:%%<一粒万倍日>]", 'position:仮名暦', 'suffix:日'], # 94: 支 節月 [Note, 0x3800, "label:[天福=]", 'position:仮名暦'], # 95: 支 節月 [Note, 0x3800, "label:[地福=]", 'position:仮名暦'], # 96: 支 節月 [Note, 0x3800, "label:[地五福=]", 'position:仮名暦'], # 97: 支 節月 [Note, 0xB800, "label:[三隣亡]", 'position:仮名暦'], # 98: 支 節月 [Note, 0xF800, "label:[不成就=ja:%%<不成就日>]", 'position:仮名暦', 'suffix:日'], # 99: 暦月 暦日/晦日 [Note, 0x3800, "label:[鬼宿]", 'position:仮名暦'], #100: 廿八宿 [Note, 0x3800, "label:[金性=]", 'position:仮名暦'], #101: 支 節月 支 節年 [Note, 0x3FFF, "label:[三寶吉=http://kotobank.jp/word/%%<三宝吉日>]", 'position:上段 上段 上段 上段'], #102: 干支 節月 [Note, 0x3FFF, "label:[神吉=ja:%%<暦注下段>#%.<神吉日>]", 'position:上段 上段 中段 中段上', 'suffix:日'], #103: 干支 節月 [Note, 0x3FFF, "label:[雑事吉=]", 'position:雑事吉'], #104: 干支 節月 [Note, 0x3FFF, "label:[小字注=]", 'position:下段小字 下段小字 下段小字 下段小字'],#105: 干支 節月 [Note, 0xC000, "label:[土用の丑]", 'position:雑節'], #106: 土用の丑 [Note, 0xC000, "label:[陰陽遁始=]", 'position:民間'], #107: 九星の陰遁・陽遁の折り返し日 ] ]]
- NoteTypes =
日本暦注の時代変遷
(2...When::TM::CalendarEra::JapaneseSolar[2].size).to_a.map {|i| calendars = [When::TM::CalendarEra::JapaneseLuniSolar[2][i][2], When::TM::CalendarEra::JapaneseSolar[2][i][2]].map {|epoch| epoch =~ /\A(-?\d+)-(\d+)-(\d+)\^(.+)\z/ $4 } [$2 == '01' ? $1.to_i : $1.to_i+1, Cal4Note.new(*calendars)] }.reverse
- NoteRange =
[ # 開始 具注暦 七十二候 index mask [-660, 0, 0], # ~ 696 0 : 0001 [ 697, 0, 0], # ~ 763 1 : 0002 [ 764, 0, 2], # ~ 800 2 : 0004 [ 801, 0, 2], # ~ 900 3 : 0008 [ 901, 0, 2], # ~1003 4 : 0010 [1004, 1, 2], # ~1047 5 : 0020 [1048, 1, 2], # ~1100 6 : 0040 [1101, 1, 2], # ~1184 7 : 0080 [1185, 2, 2], # ~1300 8 : 0100 [1301, 2, 2], # ~1337 9 : 0200 [1338, 3, 2], # ~1684 10 : 0400 [1685, 3, 3], # ~1754 11 : 0800 [1755, 3, 4], # ~1867 12 : 1000 [1868, 3, 4], # ~1872 13 : 2000 [1873, 3, 4], # ~1873 14 : 4000 [1874, 3, 5] # ~ 15 : 8000 ]
- NoteFocused =
(0...NoteRange.size).to_a.map {|range| (2..4).to_a.map {|cord| notes = Notes[1][cord] (2...notes.size).to_a.inject([]) {|focused,note| focused << notes[note][2][/\[.+?[=\]]/][1..-2] if notes[note][1][range] == 1 focused } } }
- MonthPattern =
月の大小
{ 29 => '小', 30 => '大', -28 => '平', -29 => '閏', -30 => '小', -31 => '大' }
- NoteMethods =
[:year_notes, :month_notes, :day_notes]
Constants inherited from When::CalendarNote
Bahai, CalendarDepend, Chinese, CommonWithRokuyo, CommonWithSovietFiveDay, CommonWithSovietSixDay, Default, HashProperty, Javanese, JulianDay, Mayan, Tibetan, Yis
Constants included from Parts::Resource
Parts::Resource::ConstList, Parts::Resource::ConstTypes, Parts::Resource::IRIDecode, Parts::Resource::IRIDecodeTable, Parts::Resource::IRIEncode, Parts::Resource::IRIEncodeTable, Parts::Resource::IRIHeader, Parts::Resource::LabelProperty
Instance Attribute Summary
Attributes inherited from When::CalendarNote
Attributes inherited from TM::ReferenceSystem
#domain_of_validity, #position
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Instance Method Summary collapse
-
#notes(date, options = {}) ⇒ Hash, ...
暦注の計算.
-
#phase(date, parameter = nil, precision = date.precision) ⇒ When::TM::CalDate
月の位相 => 日時.
-
#term(date, parameter = nil, precision = date.precision) ⇒ When::TM::CalDate
太陽の位置 => 日時.
Methods inherited from When::CalendarNote
#copy, #day, #duration, #enum_for, #include?, #month, #note?, #year
Methods inherited from TM::ReferenceSystem
Methods included from Parts::Resource
#[], #^, _abbreviation_to_iri, _decode, _encode, _extract_prefix, _instance, _instantiate, _parse, _path_with_prefix, _replace_tags, _setup_, _setup_info, _simplify_path, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?, root_dir
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
Instance Method Details
#notes(date, options = {}) ⇒ Hash, ...
:indices, :notes およびその他のキー => When::CalendarNote#notes を参照
return 値の [Hash] の要素は下記の通り
:note => 暦注要素 (When::CalendarTypes::Japanese::Note)
:value => 暦注の値 (String or When::BasicTypes::M17n または、その Array)
:position => 具注暦でのその暦注の配置場所(String)
暦注の計算
501 502 503 504 505 506 507 |
# File 'lib/when_exe/region/japanese/notes.rb', line 501 def notes(date, ={}) dates, indices, notes, persistence, conditions, = _parse_note(date, ) NotesContainer.register(indices.map {|i| next [] unless i <= dates.precision send(NoteMethods[i-1], dates, notes[i-1], conditions) }, persistence, date.to_i) end |
#phase(date, parameter = nil, precision = date.precision) ⇒ When::TM::CalDate
月の位相 => 日時
553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 |
# File 'lib/when_exe/region/japanese/notes.rb', line 553 def phase(date, parameter=nil, precision=date.precision) dates = _to_date_for_note(date) note = dates.cal4note.l_phases result = note.phase(date, parameter) return result if dates.o_date.frame.kind_of?(When::CalendarTypes::Christian) time = note.phase(date, parameter, When::SYSTEM) cn = note.formula.time_to_cn(time) % 1 case cn when 0..0.0001, 0.9999..1 # 朔 return result if result.cal_date[-1] == 1 diff = result.cal_date[-1] < 15 ? -1 : +1 when 0.2..0.8 # 弦、望 return result unless note.formula.kind_of?(When::Ephemeris::ChineseTrueLunation) return result if time.clk_time.universal_time >= When::TM::Duration::DAY/4 # 午前6時以降 diff = -1 else # その他 return result end patched = result + When::P1D * diff result.cal_date[0..-2] = patched.cal_date[0..-2] result.cal_date[-1] = When::Coordinates::Pair.new(patched.cal_date[-1], -diff) result end |
#term(date, parameter = nil, precision = date.precision) ⇒ When::TM::CalDate
太陽の位置 => 日時
523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 |
# File 'lib/when_exe/region/japanese/notes.rb', line 523 def term(date, parameter=nil, precision=date.precision) dates = _to_date_for_note(date) result = dates.cal4note.s_terms.term(date, parameter) patch = SolarTerms::Patch[result.to_i] return result unless patch num, den = parameter.kind_of?(String) ? parameter.split('/', 2) : parameter num = (num || 0).to_f den = (den || 360).to_f diff = (num - patch[0] + 1) % den - 1 return result if diff == 0 patched = result + When::P1D * diff result.cal_date[0..-2] = patched.cal_date[0..-2] result.cal_date[-1] = When::Coordinates::Pair.new(patched.cal_date[-1], -diff) result end |