Module: Zakuro::Version::Daien::Origin::LunarAge
- Defined in:
- lib/zakuro/version/daien/stella/origin/lunar_age.rb
Overview
LunarAge 天正閏余
Constant Summary collapse
- SYNODIC_MONTH =
Returns 朔望月.
Const::Number::Cycle::SYNODIC_MONTH
- YEAR =
Returns 一年.
Const::Number::Cycle::YEAR
- TOTAL_YEAR =
Returns 積年.
Const::Number::Stack::TOTAL_YEAR
- BEGIN_YEAR =
Returns 暦の開始年.
Const::Number::Stack::BEGIN_YEAR
- LOGGER =
Returns ロガー.
Output::Logger.new(location: 'lunar_age')
Class Method Summary collapse
-
.get(western_year:) ⇒ Remainder
対象年の天正閏余(冬至より前にある11月経朔との差 = 月齢)を算出する 太陽と月の運動による補正値を算出し、その補正結果を返す.
Class Method Details
.get(western_year:) ⇒ Remainder
対象年の天正閏余(冬至より前にある11月経朔との差 = 月齢)を算出する太陽と月の運動による補正値を算出し、その補正結果を返す
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/zakuro/version/daien/stella/origin/lunar_age.rb', line 42 def get(western_year:) # 積年の開始から対象年までの年数 total = TOTAL_YEAR + western_year - BEGIN_YEAR # 12朔望月に対する1年の余り(単位:分) remainder_minute = YEAR - (SYNODIC_MONTH * 12) # 朔望月に含まれなかった余り(単位:年) remainder_year = total % SYNODIC_MONTH LOGGER.debug("[01]: #{remainder_year}") # 天正閏余 lunar_age = remainder_minute * remainder_year % SYNODIC_MONTH LOGGER.debug("[02]: #{lunar_age}") # 大余・小余に変換する Cycle::Remainder.new(total: lunar_age) end |