module Zakuro::Senmyou::Origin::WinterSolstice

WinterSolstice 冬至

Constants

BEGIN_YEAR

@return [Integer] 暦の開始年

LOGGER

@return [Output::Logger] ロガー

REMAINDER_ALL_YEAR

@return [Integer] 通余

SIXTY_DAYS

@return [Integer] 60日

TOTAL_YEAR

@return [Integer] 積年

Public Class Methods

get(western_year:) click to toggle source

対象年の前年の冬至を求める

@param [Integer] western_year 西暦年

@return [Remainder] 前年の冬至

# File lib/zakuro/version/senmyou/stella/origin/winter_solstice.rb, line 38
def self.get(western_year:)
  # 積年の開始から対象年までの年数
  total = TOTAL_YEAR + western_year - BEGIN_YEAR
  remainder_year = total % SIXTY_DAYS

  LOGGER.debug("[01]:#{remainder_year}")

  # 通余を使う
  winter_solstice_minute = (remainder_year * REMAINDER_ALL_YEAR) % SIXTY_DAYS

  LOGGER.debug("[02]:#{winter_solstice_minute}")

  Cycle::Remainder.new(total: winter_solstice_minute)
end