# File AlmanacForRuby/AlmanacTwentyEightMansions.rb, line 56
  def get_twenty_eight_mansions_number(twenty_eight_mansions_date_time)

    # 指定年月日の時差を調整し、日本における日時に調整しておく
    twenty_eight_mansions_date_time \
      = twenty_eight_mansions_date_time.change_offset_to_japan(twenty_eight_mansions_date_time)

    # 指定年月日の正午の日時情報を求める
    target_date_time \
      = AlmanacDateTime.new(twenty_eight_mansions_date_time.year, \
                            twenty_eight_mansions_date_time.month, \
                            twenty_eight_mansions_date_time.day, \
                            12, 0, 0, \
                            twenty_eight_mansions_date_time.offset)

    # 修正後の日時から得たユリウス日をもとに二十八宿番号を求める
    twenty_eight_mansions_jd = target_date_time.ajd
    temporary_math = AlmanacMath.new
    twenty_eight_mansions_number \
      = temporary_math.fmod((twenty_eight_mansions_jd + 11.0), 28.0).to_i + 1
    if 27 < twenty_eight_mansions_number
      twenty_eight_mansions_number -= 28
    end

    return twenty_eight_mansions_number
  end