Class: When::CalendarTypes::EphemerisBased

Inherits:
TM::Calendar show all
Defined in:
lib/when_exe/calendartypes.rb

Overview

月日の配当が太陽または月の位置によって決定される暦

Calendar based on the ephemeris of the Sun or the Moon

Constant Summary

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::LocationTable, 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 Namespace

Namespace::DC, Namespace::DCQ, Namespace::DCT, Namespace::FOAF, Namespace::OWL, Namespace::RDF, Namespace::RDFC, Namespace::RDFS, Namespace::RSS, Namespace::XSD

Instance Attribute Summary collapse

Attributes inherited from TM::Calendar

#epoch_in_CE, #reference_frame, #time_basis

Attributes inherited from TM::ReferenceSystem

#domain_of_validity, #position

Attributes inherited from BasicTypes::Object

#label

Attributes included from Parts::Resource

#child, #keys, #locale, #namespace

Instance Method Summary collapse

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 When::Coordinates

to_deg, to_deg_225, to_dms

Methods inherited from TM::ReferenceSystem

#domain, #name

Methods included from Parts::Resource

#[], #^, _instance, _setup_, _setup_info, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #parent, #registered?, root_dir

Methods included from Parts::Resource::Pool

#[], #[]=, #_setup_

Dynamic Method Handling

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

Instance Attribute Details

#formulaWhen::Ephmeris::Formula (readonly)

天体暦

Returns:

  • (When::Ephmeris::Formula)


1179
1180
1181
# File 'lib/when_exe/calendartypes.rb', line 1179

def formula
  @formula
end

Instance Method Details

#_coordinates_to_number(y, m, d) ⇒ Integer

年月日 -> 通日

Parameters:

  • y (Numeric)

  • m (Integer)

    月 (0 始まり)

  • d (Integer)

    日 (0 始まり)

Returns:

  • (Integer)

    通日



1191
1192
1193
# File 'lib/when_exe/calendartypes.rb', line 1191

def _coordinates_to_number(y, m, d)
  _new_month(@months_in_year * (+y) + m) + d
end

#_length(date) ⇒ Integer #_length(date) ⇒ Integer

暦要素数

Overloads:

  • #_length(date) ⇒ Integer

    Returns その年の月数.

    Parameters:

    • date (Array<Integer>)

      ( y )

      y 年

    Returns:

    • (Integer)

      その年の月数

  • #_length(date) ⇒ Integer

    Returns その年月の日数.

    Parameters:

    • date (Array<Integer>)

      ( y, m )

      y 年

      m 月 (0 始まり)

    Returns:

    • (Integer)

      その年月の日数



1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
# File 'lib/when_exe/calendartypes.rb', line 1228

def _length(date)
  y, m = date
  if m
    #  指定した月に含まれる日の数を返します。
    m += @months_in_year * +y
    _new_month(m+1) - _new_month(m)
  else
    #  指定した年に含まれる月の数を返します。
    @months_in_year
  end
end

#_number_to_coordinates(sdn) ⇒ Array<Integer>

通日 - > 年月日

Parameters:

  • sdn (Integer)

    通日

Returns:

  • (Array<Integer>)
    y, m, d

    y 年 m 月 (0 始まり) d 日 (0 始まり)



1204
1205
1206
1207
1208
# File 'lib/when_exe/calendartypes.rb', line 1204

def _number_to_coordinates(sdn)
  m, d = Residue.mod(sdn) {|m| _new_month(m)}
  y, m = m.divmod(@months_in_year)
  return y, m, d
end

#_sum_(date) ⇒ Integer

暦要素数

Parameters:

Returns:

  • (Integer)

    その年の日数



1248
1249
1250
1251
1252
# File 'lib/when_exe/calendartypes.rb', line 1248

def _sum_(date)
  y, = date
  m = @months_in_year * +y
  _new_month(m+@months_in_year) - _new_month(m)
end