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