→関連クラス図 13.暦及び時計
require 'when_exe' include When
コア拡張を利用する場合はコア拡張を参照
使用可能な CalendarEra は http://hosi.org/frames/When/TM/CalendarEra.html 参照
date = tm_pos(2013, 5, 25) p date #=> 2013-05-25 p CalendarEra('ModernJapanese').iri #=> "http://hosi.org/When/TM/CalendarEra/ModernJapanese" list = date ^ CalendarEra('ModernJapanese') p list #=> [H25(2013).05.25] p list[0].frame.iri #=> "http://hosi.org/When/CalendarTypes/Gregorian?note=DefaultNotes" date = tm_pos('H', 25, 5, 25) p date #=> H25(2013).05.25 p Calendar('Gregorian') ^ date #=> 2013-05-25 date = when?('H25.5.25') p date #=> H25(2013).05.25 p Calendar('Gregorian') ^ date #=> 2013-05-25
date = when?('1582-10-15') p date #=> 1582-10-15 p CalendarEra('Common').iri #=> "http://hosi.org/When/TM/CalendarEra/Common" list = date ^ CalendarEra('Common') p list #=> [CE1582.10.15] p list[0].frame.iri #=> "http://hosi.org/When/CalendarTypes/Gregorian" date = tm_pos('CE', 1582, 10, 15) p date #=> CE1582.10.15 p Calendar('Gregorian') ^ date #=> 1582-10-15 date = when?('CE1582.10.15') p date #=> CE1582.10.15 p Calendar('Gregorian') ^ date #=> 1582-10-15
date = when?('1582-10-14') p date #=> 1582-10-14 list = date ^ CalendarEra('Common') p list #=> [CE1582.10.04] p list[0].frame.iri #=> "http://hosi.org/When/CalendarTypes/Julian" date = tm_pos('CE', 1582, 10, 4) p date #=> CE1582.10.04 p Calendar('Gregorian') ^ date #=> 1582-10-14 date = when?('CE1582.10.4') p date #=> CE1582.10.04 p Calendar('Gregorian') ^ date #=> 1582-10-14
date = when?('-44-03-13') p date #=> -00044-03-13 list = date ^ CalendarEra('Common') p list #=> [BCE45(-044).03.15] p list[0].frame.iri #=> "http://hosi.org/When/CalendarTypes/Julian" date = tm_pos('BCE', 45, 3, 15) p date #=> BCE45(-044).03.15 p Calendar('Gregorian') ^ date #=> -00044-03-13 date = when?('BCE45.3.15') p date #=> BCE45(-044).03.15 p Calendar('Gregorian') ^ date #=> -00044-03-13
date = when?('天保2.3.4') # ここで日本暦日をメモリに展開するため、少々時間がかかる p date #=> 天保02(1831).03.04 p date.calendar_era.iri #=> "http://hosi.org/When/TM/CalendarEra/Japanese::江戸時代::天保"
date = when?('天保2.3.4', :count=>2) # ここで中国暦日をメモリに展開するため、さらに時間がかかる p date #=> 天保02(0563).03.04 p date.calendar_era.iri #=> "http://hosi.org/When/TM/CalendarEra/Chinese::南朝::後梁::天保" date = when?('後梁::天保2.3.4') p date #=> 天保02(0563).03.04
date = when?('天保2.3.4', :count=>3) p date #=> 天保02(0551).03.04 p date.calendar_era.iri #=> "http://hosi.org/When/TM/CalendarEra/Chinese::北朝::北斉::天保" date = when?('北斉::天保2.3.4') p date #=> 天保02(0551).03.04
begin date = when?('天保2.3.4', :count=>4) rescue => e p e.to_s #=> ArgumentError: CalendarEraName doesn't exist: 天保 end
date = when?('1868-10-22') p date #=> 1868-10-22 list = date ^ CalendarEra('Japanese') p list #=> [慶応04(1868).09.07, 明治01(1868).09.07] p list[0].calendar_era_go_back #=> false p list[1].calendar_era_go_back #=> true (改元前)
date = when?('1868-10-23') p date #=> 1868-10-23 list = date ^ CalendarEra('Japanese') p list #=> [明治01(1868).09.08] p list[0].calendar_era_go_back #=> false p list[0].calendar_era.reference_date #=> 01(1868)
年号の reference_date の“精度”が“年”なら、年初に遡って検索をヒットさせる
date = when?('1912-7-29') p date #=> 1912-07-29 list = date ^ CalendarEra('Japanese') p list #=> [明治45(1912).07.29] p list[0].calendar_era_go_back #=> false
date = when?('1912-7-30') p date #=> 1912-07-30 list = date ^ CalendarEra('Japanese') p list #=> [大正01(1912).07.30] p list[0].calendar_era_go_back #=> false p list[0].calendar_era.reference_date #=> 01(1912).07.30
年号の reference_date の“精度”が“日”なら、年初に遡って検索をヒットさせない