Class: When::CalendarTypes::ChineseLuniSolar

Inherits:
EphemerisBasedLuniSolar show all
Defined in:
lib/when_exe/region/chinese.rb

Overview

Chinese Luni-Solar Calendar

Constant Summary

Constants included from Lunar

Lunar::Pattern

Constants inherited from TM::Calendar

TM::Calendar::HashProperty

Constants included from When::Coordinates

When::Coordinates::Bahai, When::Coordinates::Chinese, When::Coordinates::Common, When::Coordinates::DefaultDateIndices, When::Coordinates::DefaultDayIndex, When::Coordinates::DefaultTimeIndices, When::Coordinates::Indian, When::Coordinates::Iranian, When::Coordinates::Javanese, When::Coordinates::MATCH, When::Coordinates::Mayan, When::Coordinates::PERIOD, When::Coordinates::PERIOD_NAME, When::Coordinates::PRECISION, When::Coordinates::PRECISION_NAME, When::Coordinates::Russian, When::Coordinates::Tibetan, When::Coordinates::VALUE, When::Coordinates::Yi

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 collapse

Attributes inherited from EphemerisBasedLuniSolar

#formula

Attributes inherited from EphemerisBased

#formula

Attributes inherited from TM::Calendar

#diff_to_CE, #epoch_in_CE, #reference_frame, #time_basis

Attributes included from TimeStandard::TimeBasis

#_time_basis

Attributes inherited from TM::ReferenceSystem

#domain_of_validity, #position

Attributes inherited from BasicTypes::Object

#label

Attributes included from Parts::Resource

#_pool, #child, #keys, #locale, #namespace

Instance Method Summary collapse

Methods inherited from EphemerisBasedLuniSolar

#_coordinates_to_number, #_length, #_number_to_coordinates

Methods included from Lunar

#_verify, #lunar_table, #verify

Methods inherited from EphemerisBasedSolar

#_new_month_

Methods inherited from EphemerisBased

#_coordinates_to_number, #_length, #_number_to_coordinates, #_sum_

Methods inherited from TM::Calendar

#_new_month_, _setup_, #_to_month_number_, #date_trans, #jul_trans, #rate_of_clock, #strftime, #time_standard, #to_cal_date, #to_julian_date, #to_universal_time

Methods included from TimeStandard::TimeBasis

#_normalize_time_basis

Methods included from When::Coordinates

to_deg, to_deg_225, to_dms

Methods inherited from TM::ReferenceSystem

#domain, #name

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

#synchronize

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class When::Parts::Resource

Instance Attribute Details

#twinWhen::CalendarTypes::ChineseSolar (readonly)

Returns 対で用いる太陽暦の名前.

Returns:



844
845
846
# File 'lib/when_exe/region/chinese.rb', line 844

def twin
  @twin
end

Instance Method Details

#intercalary_pattern(y) ⇒ Array<Numeric:月番号>, Hash<Numeric:含む中気の数=>Numeric:月番号>

指定の年の天正冬至を含む月以降1年分の閏月のパターン

Parameters:

Returns:

  • (Array<Numeric:月番号>, Hash<Numeric:含む中気の数=>Numeric:月番号>)


852
853
854
855
856
857
858
859
860
861
862
863
864
# File 'lib/when_exe/region/chinese.rb', line 852

def intercalary_pattern(y)
  m  = _base_month(y)
  l  = _base_ids(y)
  c  = {0=>[], 1=>[], 2=>[]}
  d0 = Residue.mod(_new_month(m)-1) {|n| _new_epoch(n)}[0]
  l.size.times do |i|
    d1 = Residue.mod(_new_month(m+i+1)-1) {|n| _new_epoch(n)}[0]
    c[d1-d0] << l[i]
    d0 = d1
  end
  c.delete(1)
  [l, c]
end