Module: Zakuro::Version::Daien::Lunar::Localization

Defined in:
lib/zakuro/version/daien/stella/lunar/localization.rb

Overview

Localization 入暦特定

Constant Summary collapse

ANOMALISTIC_MONTH =

Returns 1近点月.

Returns:

  • (Integer)

    1近点月

Const::Number::Cycle::ANOMALISTIC_MONTH
TOTAL_YEAR =

Returns 積年.

Returns:

  • (Integer)

    積年

Const::Number::Stack::TOTAL_YEAR
BEGIN_YEAR =

Returns 開始年.

Returns:

  • (Integer)

    開始年

Const::Number::Stack::BEGIN_YEAR
YEAR =

Returns 年.

Returns:

  • (Integer)

Const::Number::Cycle::YEAR

Class Method Summary collapse

Class Method Details

.first_remainder(lunar_age:, western_year:) ⇒ Cycle::LunarRemainder

対象年の最初の入暦を求める

Parameters:

  • lunar_age (Remainder)

    天正閏余

  • western_year (Integer)

    西暦年

Returns:



35
36
37
38
39
40
41
42
43
# File 'lib/zakuro/version/daien/stella/lunar/localization.rb', line 35

def first_remainder(lunar_age:, western_year:)
  # 積年の開始から対象年までの年数
  total_year = TOTAL_YEAR + western_year - BEGIN_YEAR

  # 通積分 - 天正閏余
  total_day = total_year * YEAR - lunar_age.to_minute

  Cycle::LunarRemainder.new(total: (total_day % ANOMALISTIC_MONTH))
end